Kotlin經常使用符號

  • $
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
  • ==,===

==判斷值是否相等,===判斷值及引用是否徹底相等。函數

  • ..
    Kotlin中有區間的概念,區間表達式由具備操做符形式 .. 的 rangeTo 函數輔以 in 和 !in 造成。 區間是爲任何可比較類型定義的,但對於整型原生類型,它有一個優化的實現。
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

相關文章
相關標籤/搜索