Function trong Kotlin
Trong bài này chúng ta sẽ học một khái niệm mới, đó là function trong Kotlin. Function được dùng rất nhiều trong các ngôn ngữ lập trình hiện nay, và Kotlin cũng không ngoại lệ.
Function (Hàm) là một khối các câu lệnh liên quan cùng nhau thực hiện một nhiệm vụ cụ thể. Giả sử như chúng ta phải viết ba dòng code để tìm trung bình của hai số, nếu chúng ta tạo một hàm để tìm trung bình thì thay vì viết lại ba dòng đó, chúng ta có thể gọi hàm mà chúng ta đã tạo.
1. Các loại function trong Kotlin
Có 2 loại Function trong Kotlin:
- standard library function - thư viện hàm chuẩn: Đây là những hàm có sẵn trong hệ thống thư viện của Kotlin, bạn chỉ việc gọi ra và sử dụng
- User-defined function - hàm người dùng định nghĩa: Đây là những hàm do chính bạn tạo ra nhằm làm một công việc cụ thể nào đó.
Trước tiên hãy tìm hiểu sơ lược về standard library function đã nhé.
Bài viết này được đăng tại [free tuts .net]
2. Standard library function
Các Function đã có trong thư viện chuẩn của Kotlin được gọi là các thư viện hàm chuẩn hoặc các hàm dựng sẵn hoặc các hàm được xác định trước. Ví dụ: khi chúng ta cần sử dụng hàm Math.floor (), chúng ta không cần định nghĩa nó vì nó đã có sẵn và chúng ta có thể gọi nó trực tiếp trong code của mình.
Ví dụ về thư viện hàm chuẩn
fun main(args : Array<String>){ var num = 16 println("Square root of $num is: ${Math.sqrt(num.toDouble())}") }
OUTPUT:
2. Hàm người dùng định nghĩa
Các chức năng mà chúng ta sử dụng trong chương trình của chúng ta gọi là các chức năng do người dùng xác định.
Ví dụ: giả sử chúng ta muốn một hàm kiểm tra số chẵn hoặc số lẻ trong chương trình của mình thì chúng ta có thể tạo một hàm cho tác vụ này và sau đó gọi hàm mà chúng ta cần thực hiện kiểm tra.
Ví dụ về hàm người dùng tự định nghĩa
Chúng ta tạo ra một function bằng cách sử dụng từ khóa fun
. Cho phép tạo một function in ra "Hello".
//Created the function fun sayHello(){ println("Hello") } fun main(args : Array<String>){ //Calling the function sayHello() }
OUTPUT:
Hello
3. Tham số và kiểu dữ liệu trả về
Bạn có thể định nghĩa các tham số và kiểu dữ liệu trả về cho function.
Cú pháp như sau:
fun function_name(param1: data_type, param2: data_type, ...): return_type
Cho phép tạo một hàm do người dùng định nghĩa chấp nhận các đối số và có kiểu trả về. Trong chương trình dưới, chúng ta khai báo một hàm sum
. Các tham số đó là số kiểu Integer và kiểu trả về của hàm cũng là Integer.
//Created the function fun sum(vararg numbers: Int): Int { var sum = 0 numbers.forEach {num -> sum += num} return sum } fun main(args : Array<String>){ println("Sum: ${sum(10, 20, 30, 40)}") }
4. Inline functions trong Kotlin
Inline function hay gọi gọi là hàm nội tuyến. Một hàm nội tuyến có thể được định nghĩa bên trong main() functions. Chúng ta hãy tìm hiểu kỹ hơn về Inline Functions trong 1 ví dụ.
Trong ví dụ này, chúng ta sử dụng một inline functions chưa hai tham số có kiểu Integer là num1
và num2
và kiểu trả về là Integer.
fun main(args : Array<String>){ val sum = {num1: Int, num2: Int -> num1 + num2} println("6 + 4 = ${sum(6,4)}") }
OUTPUT:
6 + 4 = 10
Như vậy là bạn đã học xong định nghĩa về function trong Kotlin. Qua bài này bạn phải hiểu được ý nghĩa và cách khai báo function, bởi vì sau này với những dự án thực tế bạn sẽ sử dụng nó rất nhiều, chưa tính đến nó có chút giống nhau với phương thức trong lập trình hướng đối tượng.