Kotlin關鍵字運算子說明及使用示例與解釋
- Kotlin關鍵字目錄
- fun
- val var
- as
- in
- is
- When
- typealias
- data
Kotlin關鍵字目錄
本篇文章作為快速入門kotlin的小指引,同時作為作者本人方便查詢的文章,如有缺少或者錯誤的地方,希望大家在下方不吝賜教:
fun
- 宣告一個函式
// 無回傳值
fun getName(){}
// 有回傳值
fun getName():String{
return "name"
}
val var
- val 宣告一個只讀屬性或區域變數
- var 宣告一個可變屬性或區域變數
val a: Int = 1 // 立即賦值
val b = 2 // 自動推斷出 `Int` 型別
val c: Int // 如果沒有初始值型別不能省略
c = 3 // 明確賦值
var x = 5 // 自動推斷出 `Int` 型別
x += 1
as
- 用于型別轉換
/**
* “不安全的”轉換運算子
* 通常,如果轉換是不可能的,轉換運算子會拋出一個例外,因此,我們稱之為不安全的
*/
val x: String = y as String
//null 不能轉換為 String 因該型別不是可空的, 即如果 y 為空,上面的代碼會拋出一個例外
val x: String? = y as String?
/**
* “安全的”(可空)轉換運算子
* 為了避免拋出例外,可以使用安全轉換運算子 as?,它可以在失敗時回傳 null:
* 請注意,盡管事實上 as? 的右邊是一個非空型別的 String,但是其轉換的結果是可空的,
*/
val x: String? = y as? String
- 為匯入指定一個別名
/**
* 當import 參考的包名出現重復時,我們可以使用as對其進行本地重命名來消歧義
*/
import org.example.Message // Message 可訪問
import org.test.Message as testMessage // testMessage 代表“org.test.Message”
in
- i in a…b 表示 i 是否在 a 到 b 區間
- in 可以檢查字符區間,物件區間(實體物件的類必須實作Comparable),集合
fun main(args: Array<String>){
println('c' in 'a'..'d');
println(1 in 0..100)
}
//要反向迭代數字,請使用 downTo 函式而不是 ..
for (i in 4 downTo 1) print(i)
//!in 用作中綴運算子以檢測一個值不屬于一個區間
is
- 通過使用 is 運算子或其否定形式 !is 來檢測物件是否符合給定型別
if (obj is String) {
print(obj.length)// obj 自動轉換為字串
//在許多情況下,不需要在 Kotlin 中使用顯式轉換運算子,因為編譯器跟蹤不可變值的 is-檢測以及顯式轉換,并在需要時自動插入(安全的)轉換:
}
if (obj !is String) { // 與 !(obj is String) 相同
print("Not a String")
}else {
print(obj.length)
}
When
- when 運算式取代了類 C 語言的 switch 陳述句,其最簡單的形式如下:
when (x) {
0, 1 -> print("x == 0 or x == 1")
2 -> print("x == 2")
3 -> print("x == 3")
else -> { // 注意這個塊
print("x is neither 1 nor 2")
}
}
typealias
- 型別別名為現有型別提供替代名稱, 如果型別名稱太長,你可以另外引入較短的名稱,并使用新的名稱替代原型別名
typealias NodeSet = Set<Network.Node>
typealias FileTable<K> = MutableMap<K, MutableList<File>>
//你可以為函式型別提供另外的別名:
typealias MyHandler = (Int, String, Any) -> Unit
typealias Predicate<T> = (T) -> Boolean
//你可以為內部類和嵌套類創建新名稱:
class A {
inner class Inner
}
class B {
inner class Inner
}
typealias AInner = A.Inner
typealias BInner = B.Inner
data
- 我們經常創建一些只保存資料的類,在 Kotlin 中,這叫做 資料類 并標記為 data
data class User(val name: String, val age: Int)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/261331.html
標籤:其他
上一篇:JDK8日期API
下一篇:CTFSHOW nodejs篇
