2019年5月20日 星期一

Kotlin學習筆記(4) infix Functions 内缀函数

Kotlin學習筆記(4)  infix Functions 内缀函数

infix Functions 内缀函数
Member functions and extensions with a single parameter can be turned into infix functions.

程式 

fun main() {

  infix fun Int.times(str: String) = str.repeat(this)        // 1
  println(3 times "Bye ")                                    // 2

  val  pair = "1. Ferrari" to "2. Katrina"                          // 3
  println(pair)

  infix fun String.onto(other: String) = Pair(this, other)   // 4
  val myPair = "McLaren" onto "Lucas"
  println(myPair)

  val sophia = Person("Sophia")
  val claudia = Person("Claudia")

  sophia likes claudia                                       // 5

 
}

class Person(val name: String) {
  val likedPeople = mutableListOf<Person>()
  infix fun likes(other: Person) { likedPeople.add(other) }  // 6
}
輸出畫面
Bye Bye Bye (1. Ferrari, 2. Katrina) (McLaren, Lucas)


  1. Defines an infix extension function on Int.
  2. Calls the infix function.
  3. Creates a Pair by calling the infix function to from the standard library.
  4. Here's your own implementation of to creatively called onto.
  5. Infix notation also works on members functions (methods).
  6. The containing class becomes the first parameter.

沒有留言:

張貼留言

零成本學 ESP32!在 Wokwi 打造你的第一個微型氣象站 (ESP32 + DHT22 + 1602 LCD)

零成本學 ESP32!在 Wokwi 打造你的第一個微型氣象站(溫度 濕度) (ESP32 + DHT22 + 1602 LCD) 想學物聯網(IoT)與 ESP32 電子實作,卻擔心接線與電壓規範搞砸嗎?透過強大的線上模擬器 Wokwi ,我們不需要花費任何硬體費用,打開瀏覽器...