kotlin 學習筆記之 型別別名

2021-10-08 09:29:26 字數 1010 閱讀 4616

型別別名為現有型別提供替代名稱。 如果型別名稱太長,你可以另外引入較短的名稱,並使用新的名稱替代原型別名。

它有助於縮短較長的泛型型別。 例如,通常縮減集合型別是很有吸引力的:

typealias nodeset = set

​typealias filetable

= mutablemap

>

你可以為函式型別提供另外的別名:

typealias myhandler =

(int, string, any)

-> unit

​typealias predicate

=(t)

-> boolean

你可以為內部類和巢狀類建立新名稱:

class a 

class b

​typealias ainner = a.inner

typealias binner = b.inner

型別別名不會引入新型別。 它們等效於相應的底層型別。 當你在**中新增 typealias predicate 並使用 predicate 時,kotlin 編譯器總是把它擴充套件為 (int) -> boolean。 因此,當你需要泛型函式型別時,你可以傳遞該型別的變數,反之亦然:

typealias predicate

=(t)

-> boolean

​fun

foo(p: predicate)=

p(42)

​fun

main()

println

(foo

(f))

// 輸出 "true"

​ val p: predicate

=println

(listof(1

,-2)

.filter

(p))

// 輸出 "[1]"

}

Kotlin學習筆記5 13 其他 型別別名

kotlin官網 other type aliases 型別別名可以用來給乙個已知型別起另外乙個名字,如果有型別名字太長可以再起乙個短一些的替代。經常用於帶泛型的類,例如集合 typealias nodeset set typealias filetable mutablemap 給函式型別起別名 ...

C 學習筆記 型別別名

一 c 為型別建立別名的方式有兩種 1 使用預處理器 define byte char 預處理器將在編譯程式時用char替換所有的byte,從而使byte成為char的別名。2 使用c 關鍵字typedef來建立別名 typedef typename aliasname include typede...

TS學習筆記(ts基礎型別 型別別名)

中文文件 home.html 與js不同的是 ts的變數都可以型別註解 後面註明變數型別 let isdone boolean false 與js的型別相比多出的 比如列舉 個人理解 將物件資料化了 類似陣列通過下角標得到值 enum color let c color color 0 consol...