Swift是蘋果官方iOS最新開發(fā)語言僚楞,Kotlin是谷歌官方Android最新開發(fā)語言详囤;兩種語言在語法上有很多相似的地方, 接下來通過部分語法對比一下档悠。
1 Hello Word
Swift
Kotlin
2 常量和變量
Swift常量用let思喊,變量var
Kotlin常量用val壁酬,變量用var
3 函數(shù)
Swift使用func作為函數(shù)關(guān)鍵字,使用->分隔參數(shù)和返回值類型
Kotlin使用fun作為函數(shù)關(guān)鍵字恨课,使用:分隔參數(shù)和返回值
4 if表達(dá)式
Swift
Kotlin
5 switch
Swift
Kotlin使用when關(guān)鍵字來處理
6 for循環(huán)
Swift
Kotlin
7 while循環(huán)
Swift
Kotlin
8 數(shù)組(都支持for-in 舆乔、通過下標(biāo)遍歷)
Swift
Kotlin
9接口
Swift接口關(guān)鍵字protocol
Swift接口關(guān)鍵字protocol
Kotlin接口用interface
Kotlin接口用interface
10 范型
Swift
Kotlin(這里只舉例方法)
11 字典(集合)
Swift
Kotlin
12 繼承和重寫
Swift
Kotlin
13 高階函數(shù)
Swift
Swift
Kotlin
14 懶加載
Swift
Kotlin
15 權(quán)限
Swift
open? ? ? ? 可以在其他作用域被訪問,繼承
public? ? ? 可以訪問自己模塊中源文件里的任何實(shí)體剂公,別人通過引入該模塊也可以訪問文件里的實(shí)體
fileprivate? 只能在當(dāng)前源文件中使用
private? ? 只能在類中訪問希俩,離開類作用域無法訪問,private屬性不能被繼承
Kotlin
open? ? ? ? ? ? 可以被其他類繼承诬留,和final 相反
abstract? ? ? 使用abstract修飾的時(shí)候斜纪,可以忽略open修飾符,被abstract修飾的類默認(rèn)具有open屬性
public? ? ? ? 默認(rèn)修飾符文兑,被其修飾的在任何位置都可訪問
protected? 可以被該類中的函數(shù),子類的函數(shù)訪問
internal? ? ? 在同一模塊內(nèi)使用