println("itemB:$itemB") //字符串模板 var userInfo = "name:${user.name}, age:$age"
//在变量类型后面加上问号,表明该变量是可空变量 var name: String? = "zhangsan" /** * 若是str不能转为Int类型,则返回null */ fun parseInt(str: String): Int? { // (代码略) } b?.length //若是 b非空,就返回 b.length ,不然返回 null,这个表达式的类型是 Int? 。
//若是r非空,我使用它;不然使⽤某个非空的值 x ”: val l = b?.length ?: -1
//返回一个非空的 b 值 或者若是 b 为空,就会抛出一个 NPE 异常 val l = b!!.length
==判断值是否相等,===判断值及引用是否彻底相等。函数
if (i in 1..10) { // 等同于 1 <= i && i <= 10 println(i) }
data class Book(var id: Int, var name: String) val book = Book(1, "英语") val (id, _) = book
//一、限定this的类型 class User { inner class State{ fun getUser(): User{ //返回User return this@User } fun getState(): State{ //返回State return this@State } } } //二、做为标签 loop@ for (itemA in arraysA) { var i : Int = 0 for (itemB in arraysB) { i++ if (itemB > 2) { break@loop } println("itemB:$itemB") } }
参考文献: https://blog.csdn.net/zxc123e/article/details/73368781oop