原文: https://www.programiz.com/kotlin-programming/infix-notation

在本文中,您将学习使用int表示法在 Kotlin 中调用函数(借助示例)。

在学习如何创建具有中缀表示法的函数之前,让我们探索两个常用的中缀函数。

当您使用||&&操作时,编译器分别查找函数,并在后台进行调用。

这两个函数支持中缀表示法。


示例:Kotlin orand函数

  1. fun main(args: Array<String>) {
  2. val a = true
  3. val b = false
  4. var result: Boolean
  5. result = a or b // a.or(b)
  6. println("result = $result")
  7. result = a and b // a.and(b)
  8. println("result = $result")
  9. }

运行该程序时,输出为:

  1. result = true
  2. result = false

在上述程序中,使用a or b代替a.or(b),并使用a and b代替a.and(b)。 这是可能的,因为这两个函数都支持中缀表示法。


如何创建带有中缀符号的函数?

您可以使用中缀符号在 Kotlin 中进行函数调用(如果该函数

  • 成员函数(或扩展函数)。
  • 只有一个参数。
  • infix关键字标记。

示例:带中缀符号的用户定义函数

  1. class Structure() {
  2. infix fun createPyramid(rows: Int) {
  3. var k = 0
  4. for (i in 1..rows) {
  5. k = 0
  6. for (space in 1..rows-i) {
  7. print(" ")
  8. }
  9. while (k != 2*i-1) {
  10. print("* ")
  11. ++k
  12. }
  13. println()
  14. }
  15. }
  16. }
  17. fun main(args: Array<String>) {
  18. val p = Structure()
  19. p createPyramid 4 // p.createPyramid(4)
  20. }

运行该程序时,输出为:

  1. *
  2. * * *
  3. * * * * *
  4. * * * * * * *

在此,createPyramid()是创建金字塔结构的中缀函数。 它是类Structure的成员函数,仅接受类型为Int的一个参数,并以关键字infix开头。

吡喃酰胺的行数取决于传递给函数的参数。