Gọi hàm Kotlin bằng ký hiệu infix

Trong bài viết này, bạn sẽ học cách sử dụng ký hiệu infix để gọi một hàm trong Kotlin (với sự trợ giúp của các ví dụ).

Trước khi bạn tìm hiểu cách tạo một hàm có ký hiệu infix, hãy cùng khám phá hai hàm infix thường được sử dụng.

Khi bạn sử dụng ||và các &&thao tác, trình biên dịch sẽ tìm kiếm hoặc và và các chức năng tương ứng, và gọi chúng dưới mui xe.

Hai hàm này hỗ trợ ký hiệu infix.

Ví dụ: Kotlin hoặc & và hàm

 fun main(args: Array) ( val a = true val b = false var result: Boolean result = a or b // a.or(b) println("result = $result") result = a and b // a.and(b) println("result = $result") )

Khi bạn chạy chương trình, đầu ra sẽ là:

 kết quả = kết quả đúng = sai

Trong chương trình trên, a or bthay vì a.or(b), và a and bthay vì a.and(b)được sử dụng. Có thể vì hai hàm này hỗ trợ ký hiệu infix.

Làm thế nào để tạo một hàm với ký hiệu infix?

Bạn có thể gọi hàm trong Kotlin bằng cách sử dụng ký hiệu infix nếu hàm

  • là một chức năng thành viên (hoặc một chức năng mở rộng).
  • chỉ có một tham số duy nhất.
  • được đánh dấu bằng infixtừ khóa.

Ví dụ: Chức năng do người dùng định nghĩa với ký hiệu tiền tố

 class Structure() ( infix fun createPyramid(rows: Int) ( var k = 0 for (i in 1… rows) ( k = 0 for (space in 1… rows-i) ( print(" ") ) while (k != 2*i-1) ( print("* ") ++k ) println() ) ) ) fun main(args: Array) ( val p = Structure() p createPyramid 4 // p.createPyramid(4) )

Khi bạn chạy chương trình, đầu ra sẽ là:

  * * * * * * * * * * * * * * * * 

Đây, createPyramid()là một hàm infix tạo cấu trúc kim tự tháp. Nó là một hàm thành viên của lớp Structure, chỉ nhận một tham số kiểu Intvà bắt đầu bằng từ khóa infix.

Số hàng của pyramind phụ thuộc vào đối số được truyền vào hàm.

thú vị bài viết...