Kotlin 中的小魔术
字符串内嵌表达式
fun main(){
// Kotlin 中字符串内嵌表达式的语法规则:
// "hello, ${obj.name}, nice to meet you! "
// 当表达式仅有一个变量时,可将大括号省略。
// "hello, $name, nice to meet you! "
val brand = "Samsung"
val price = "1299.99"
println("Cellphone(brand=$brand,price=$price)")
}
函数的参数默认值
可在定义函数时给任意参数设定一个默认值,这样当调用此函数时就不会强制要求调用方为此参数传值,在没有传值的情况下会自动使用参数的默认值。
fun main(){
printParams(123)
// 可通过键值对的方式来传参,就不必在意参数定义的顺序了。
printParams2(str = "world")
}
fun printParams(num:Int,str:String="hello"){
println("num is $num,str is $str")
}
fun printParams2(num:Int = 100,str:String = "hello"){
println("num is $num,str is $str")
}
/**
* 可以给参数设定默认值。
* 正因为此功能,它可在很大程度上替代次构造函数的作用。
*/
class Student(val sno:String="",val grade:Int=0,name:String="",age:Int=0) : Person(name,age) {
}
标准函数和静态方法
标准函数 let、with、run 和 apply
Kotlin 的标准函数指的是 Standard.kt 文件中定义的函数,任何 Kotlin 代码都可以自由地调用所有的标准函数。
let 这个标准函数在上面已经学过了,它的主要作用是配合 ?. 操作符来进行辅助判空处理的。
fun main(){
val list = listOf("Apple","Banana","Pear")
val builder = StringBuilder()
builder.append("Start eating fruits.\n")
for (fruit in list){
builder.append(fruit).append("\n")
}
builder.append("Ate all fruits.")