kotlin 中双冒号 :: 的用法

在Kotlin中,::是一个操作符,它可以用来引用函数、属性或构造函数。具体用法如下:

  1. 引用函数:可以使用::操作符来引用一个函数。例如,::println可以用来引用println函数。
    fun printWithPrefix(prefix: String, message: String) {
        println("$prefix $message")
    }
    
    fun main() {
        val prefix = "Message:"
        val message = "Hello, Kotlin!"
        val printer = ::println  // 将println函数引用赋值给printer变量
        printWithPrefix(prefix, message)  // 输出: Message: Hello, Kotlin!
        printer("$prefix $message")  // 与上面的输出等价
    }
    
  2. 引用属性:可以使用::操作符来引用一个属性。例如,::length可以用来引用String类型的length属性。
    fun printLength(str: String) {
        println(str.length)
    }
    
    fun main() {
        val myString = "Hello, Kotlin!"
        val lengthGetter = String::length  // 将String类型的length属性引用赋值给lengthGetter变量
        printLength(myString)  // 输出: 14
        lengthGetter(myString)  // 输出: 14
    }
    

  3. 引用构造函数:可以使用::操作符来引用一个构造函数。例如,::Person可以用来引用一个名为Person的类的构造函数。
  4. 引用成员函数或成员属性:可以使用::操作符来引用一个类的成员函数或成员属性。例如,myClass::myFunction可以用来引用一个名为myFunction的类成员函数。

需要注意的是,::操作符只能用于引用已存在的函数、属性或构造函数,不能用于创建新的函数或属性。

猜你喜欢

转载自blog.csdn.net/old_land/article/details/130204744
今日推荐