Giống nhau: Đều không cần khởi tạo giá trị khi chưa sử dụng.
Khác nhau:
- Lateinit không quan tâm đến việc giá trị đã được khởi tạo hay chưa, mà mặc định coi như đã được khởi tạo. Nếu như chưa khởi tạo mà đã sử dụng thì sẽ gây lỗi.
- Lazy init chưa khởi tạo giá trị ngay mà chỉ khởi tạo duy nhất một lần khi biến được get giá trị. Lazy init cần có block khởi tạo phía sau by.
Anh Minh cho em hỏi đoạn này với ạ:
"Một coroutine khi bị cancel thì nó sẽ chỉ set lại một property có tên là isActive trong đối tượng Job từ false thành true (job.isActive = true)"
Có phải anh typing nhầm job.isActive = false không ạ
THẢO LUẬN
https://prnt.sc/qocdc7 anh ơi update doc đi anh )
Bạn có thể show code lên không ? ví dụ như thế này thì đoạn css bên trong @media của bạn chỉ nhận khi kích thước màn > 900px thôi
Đã mơ về ngôi nhà và những đứa trẻ rồi hả anh :v
Late init với Lazy init:
làm thể nào để expand cell nhưng mà là một cục dữ liệu chứ ko phải là các row như bài vậy, kiểu như một bảng chứa các label ý
Mẹo trả lời là hỏi ngược câu đó cho người phỏng vấn. Chưa chắc hắn đã trả lời nổi đâu
Anh Minh cho em hỏi đoạn này với ạ: "Một coroutine khi bị cancel thì nó sẽ chỉ set lại một property có tên là isActive trong đối tượng Job từ false thành true (job.isActive = true)" Có phải anh typing nhầm job.isActive = false không ạ
Một series cực kì tuyệt vời và tâm huyết. Xin cảm ơn tác giả rất nhiều ạ.
Rất hữu ích ạ
hay that su, cam on bac
Cho bạn thêm 1 cách này nữa nhé. Sử dụng
vertical-align: middle;
+display: inline-block;
đọc xong ngáo luôn
Bạn thêm dòng này vào mỗi phần config trong file ~/.ssh/config nhé
UseKeychain yes
AddKeysToAgent yes
Example:
Host github.com
HostName github.com
User git
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
Cảm ơn anh đã ủng hộ
(yayyy) em cảm ơn anh, em sẽ chú trọng chau chuốt nội dung hơn nữa ạ ^^
Bài viết hay quá, tóm hết ý luôn
(+1)
ngon quá, ngon quá
lần đầu tiên tôi thấy có 1 cụ thích BUG đấy