Hướng dẫn dùng kotlin lambda python
1. Giới thiệuLớp học lập trình này hướng dẫn bạn về các loại hàm, cách sử dụng các loại hàm và cú pháp dành riêng cho biểu thức lambda. Show
Trong Kotlin, hàm được coi là cấu trúc lớp thứ nhất (first-class constructs). Điều này có nghĩa là hàm có thể được coi là một loại dữ liệu. Bạn có thể lưu trữ hàm trong biến, truyền hàm đó vào hàm khác dưới dạng đối số và trả về hàm đó từ hàm khác. Giống như các loại dữ liệu khác mà bạn có thể biểu thị bằng giá trị cố định – chẳng hạn như loại Điều kiện tiên quyết
Kiến thức bạn sẽ học được
Bạn cần có
2. Xem video tập lập trình (Không bắt buộc)Nếu bạn muốn xem một trong những người hướng dẫn của khoá học hoàn thành lớp học lập trình, hãy phát video bên dưới. Bạn nên mở rộng video ra toàn màn hình (có biểu tượng ở góc dưới bên phải của video). Nhờ đó, bạn có thể nhìn thấy Android Studio và mã rõ ràng hơn.Bước này là bước không bắt buộc. Bạn cũng có thể bỏ qua video này và bắt đầu tham gia lớp học lập trình ngay. 3. Lưu trữ hàm trong biếnTới đây, bạn đã học cách khai báo hàm bằng từ khoá Hàm vừa là cấu trúc lớp thứ nhất vừa là loại dữ liệu, do đó bạn có thể lưu trữ hàm trong biến, truyền hàm vào hàm và trả về hàm từ hàm. Có thể bạn muốn thay đổi hành vi của một phần ứng dụng vào thời gian chạy hoặc lồng các hàm có khả năng kết hợp để tạo bố cục như bạn đã làm trong các lớp học lập trình trước. Tất cả những điều này có thể thực hiện được nhờ biểu thức lambda. Bạn có thể thấy tính năng này trong thực tế với một số hành vi cho kẹo hay bị ghẹo. Đây là truyền thống Halloween ở nhiều quốc gia, trẻ em hoá trang Chuyển đến, Truy cập từng nhà và hỏi: "Cho kẹo hay bị ghẹo" và thường thì sẽ được cho kẹo. Lưu trữ hàm trong biến:
Function invocation 'trick()' expected Bạn cố gắng lưu trữ
Xác định lại hàm bằng biểu thức lambdaBiểu thức lambda cung cấp cú pháp ngắn gọn để xác định hàm không có từ khoá Trước toán tử chỉ định ( Khi xác định hàm bằng biểu thức lambda, bạn có một biến tham chiếu đến hàm. Bạn cũng có thể chỉ định giá trị của biến đó cho biến khác như mọi loại khác và gọi hàm bằng tên của biến mới. Cập nhật mã để sử dụng biểu thức lambda:
No treats!
No treats! No treats! Với biểu thức lambda, bạn có thể tạo biến để lưu trữ hàm, gọi biến như hàm và lưu trữ biến trong biến khác mà bạn có thể gọi như hàm. 4. Dùng hàm làm loại dữ liệuTrong lớp học lập trình trước, bạn đã biết rằng Kotlin có suy luận loại dữ liệu. Khi khai báo một biến, thường thì bạn không cần chỉ định rõ loại. Trong ví dụ trước, trình biên dịch Kotlin có thể suy luận rằng giá trị của Loại dữ liệu của biến Khai báo một hàm khác bằng biểu thức lambda chỉ định rõ loại hàm:
No treats! No treats! Have a treat! Dùng hàm làm loại dữ liệu trả vềHàm là loại dữ liệu, vì vậy bạn có thể dùng hàm như bất kỳ loại dữ liệu nào khác. Thậm chí bạn có thể trả về hàm từ hàm khác. Cú pháp được minh hoạ trong hình ảnh này: Tạo một hàm trả về một hàm.
Have a treat! No treats! Giờ đây, bạn đã biết cách hàm có thể trả về hàm khác. Bạn cũng có thể truyền một hàm ở dạng đối số cho một hàm khác. Có thể bạn muốn cung cấp một số hành vi
tuỳ chỉnh cho hàm Truyền hàm vào hàm khác làm đối sốỞ một số nơi trên thế giới có ngày lễ Halloween, trẻ em sẽ được cho tiền lẻ thay vì kẹo hoặc được cho cả hai. Bạn sẽ sửa đổi hàm Hàm mà Khi bạn viết biểu thức lambda cho hàm nhận tham số, tham số sẽ được đặt tên theo thứ tự xuất hiện. Tên tham số được liệt kê sau dấu ngoặc nhọn mở và mỗi tên được phân tách bằng dấu phẩy. Mũi tên ( Cập nhật hàm
5 quarters Have a treat! No treats! Loại hàm có thể có giá trị rỗngGiống như các loại dữ liệu khác, loại hàm có thể được khai báo là có thể có giá trị rỗng. Trong những trường hợp này, biến có thể chứa hàm hoặc có thể là Để khai báo một hàm là có thể có giá trị rỗng, đưa loại hàm vào trong ngoặc đơn, theo sau là biểu tượng Đặt tham số
5 quarters Have a treat! No treats! 5. Viết biểu thức lambda với cú pháp viết tắtBiểu thức lambda cung cấp nhiều cách để làm cho mã ngắn gọn hơn. Bạn sẽ tìm hiểu một số cách trong phần này vì hầu hết biểu thức lambda mà bạn gặp và viết đều được viết bằng cú pháp viết tắt. Bỏ qua tên tham sốKhi viết hàm Cập nhật hàm
5 quarters Have a treat! No treats! Truyền trực tiếp biểu thức lambda vào hàmHàm Biểu thức lambda chỉ đơn giản là giá trị cố định của hàm, giống
như Sửa đổi mã để bạn có thể xoá biến
5 quarters Have a treat! No treats! Sử dụng cú pháp lambda ở cuốiBạn có thể dùng một cách viết tắt khác để viết biểu thức lambda khi loại hàm là tham số cuối cùng của một hàm. Nếu vậy, bạn có thể đặt biểu thức lambda sau ngoặc đơn đóng để gọi hàm. Cú pháp được minh hoạ trong hình ảnh này: Điều này giúp mã của bạn dễ đọc hơn vì tách biệt biểu thức lambda với các tham số khác, nhưng không thay đổi tính chất của mã. Cập nhật mã để sử dụng cú pháp lambda ở cuối:
5 quarters Have a treat! No treats! 6. Dùng hàm repeat()Khi một hàm trả về một hàm hoặc nhận hàm làm đối số, hàm này được gọi
là hàm bậc cao. Hàm Hàm
Tham
số Thay vì chỉ gọi hàm Cập nhật mã cho kẹo hay bị ghẹo để xem hàm
5 quarters Have a treat! Have a treat! Have a treat! Have a treat! No treats! 7. Kết luậnXin chúc mừng! Bạn đã tìm hiểu kiến thức cơ bản về loại hàm và biểu thức lambda. Làm quen với các khái niệm này sẽ giúp bạn tìm hiểu thêm về ngôn ngữ Kotlin. Việc sử dụng loại hàm, hàm bậc cao và cú pháp viết tắt cũng giúp mã ngắn gọn và dễ đọc hơn. Tóm tắt
Tìm hiểu thêm
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. [{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Thiếu thông tin tôi cần" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Quá phức tạp/quá nhiều bước" },{ "type": "thumb-down", "id": "outOfDate", "label":"Đã lỗi thời" },{ "type": "thumb-down", "id": "translationIssue", "label":"Vấn đề về bản dịch" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Vấn đề về mẫu/mã" },{ "type": "thumb-down", "id": "otherDown", "label":"Khác" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Dễ hiểu" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Giúp tôi giải quyết được vấn đề" },{ "type": "thumb-up", "id": "otherUp", "label":"Khác" }] |