Android Kotlin dễ dàng hơn với Higher Order Function

Tram Ho

Giới thiệu

Bài viết với chủ đề Higher Order Functions dành cho những người mới tiếp cận với Kotlin.

Nếu như các bạn là một lập trình viên Android đi lên từ Java, chắc chắn sẽ nhận xét rằng Kotlin thật sự rất “kool ngầu”. Một trong những thứ tạo nên điều diệu kỳ này chính là việc hỗ trợ lập trình hàm. Tức là các hàm (functions) có thể được truyền vào như một biến của hàm khác, và cũng có thể được trả về từ một hàm nào đó. Đấy chính là Higher Order Function.

Định nghĩa về một Higher Order Function

Chúng ta cùng xem một ví dụ cơ bản sau đây

Trong 3 tham số truyền vào của hàm rollDice, thì tham số thứ ba chính là một function

Trong đó, callback chính là tên của functions, đồng thời là tên của tham số truyền vào. (result: Int) lại chính là tham số của callback.
Còn Unit chính là kiểu trả về của function. Trong trường hợp này, nó không cần trả về gì cả.

Tiếp theo chúng ta gọi Higher Order Function.

Ở đây, result chính là tham số của hàm callback. Lệnh println chính là công việc thực hiện tương ứng với hàm callback ở trên.

Xem ví dụ thực tiễn

Sau đây chúng ta đến với một vài đường code nhé.

Tại nơi muốn show Dialog.

Thêm một ví dụ khác nhé, cũng là ExampleDialog trên nhưng với 2 callbacks.

Và đây là bên hàm gọi Dialog:

Hy vọng những ví dụ trên sẽ cho bạn những cái nhìn thực tế hơn về Higher Order Function. Chúng không những hữu dụng mà còn rất kool ngầu phải không nào !!!

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo