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表達式

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 、通過下標遍歷)

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? ? ? 可以訪問自己模塊中源文件里的任何實體,別人通過引入該模塊也可以訪問文件里的實體
fileprivate? 只能在當前源文件中使用
private? ? 只能在類中訪問,離開類作用域無法訪問,private屬性不能被繼承
Kotlin
open? ? ? ? ? ? 可以被其他類繼承,和final 相反
abstract? ? ? 使用abstract修飾的時候,可以忽略open修飾符,被abstract修飾的類默認具有open屬性
public? ? ? ? 默認修飾符,被其修飾的在任何位置都可訪問
protected? 可以被該類中的函數(shù),子類的函數(shù)訪問
internal? ? ? 在同一模塊內(nèi)使用