Kotlin 类型推断是一种强大的特性,它允许编译器根据上下文自动推断变量的类型
- 局部变量:当你在函数或代码块中声明一个局部变量时,Kotlin 编译器会根据你为它赋的值推断出变量的类型。例如:
val number = 42 // 编译器推断出 number 的类型为 Int
val name = "Alice" // 编译器推断出 name 的类型为 String
- 函数参数:当你在调用函数时传递参数时,Kotlin 编译器会根据传递的实参值推断出参数的类型。例如:
fun printNumber(num: Int) {
println(num)
}
printNumber(42) // 编译器推断出 num 的类型为 Int
- 函数返回值:当你在定义函数时没有显式指定返回值的类型,编译器会根据函数的实现推断出返回值的类型。例如:
fun getLength(str: String): Int {
return str.length
}
- 属性类型推断:在定义属性时,可以使用
val
或var
关键字,然后直接为属性赋值。Kotlin 编译器会根据赋值推断出属性的类型。例如:
val age: Int = 25
var isEmployed: Boolean = true
- 扩展属性类型推断:当你在扩展函数中为属性提供新的值时,Kotlin 编译器会根据上下文推断出属性的类型。例如:
fun String.getFullName(): String {
return this + " Doe"
}
val name = "John"
val fullName = name.getFullName() // 编译器推断出 fullName 的类型为 String
总之,Kotlin 类型推断使得代码更加简洁,提高了可读性。你不需要显式地声明变量的类型,编译器会根据上下文自动推断出来。