Kotlin、Swift对比

  • 包、文件引用
    Kotlin 、Swift不再需要import要使用的类,全局直接使用就好,import使用为导入另一个模块

  • 可见性修饰符
    在 Kotlin 中有这四个可见性修饰符:private、 protected、 internal 和 public。 如果没有显式指定修饰符的话,默认可见性是 public
    Swift中是open、public、internal、fileprivate、private ,默认internal
    open 只能作用于类和类的成员,它和 public 的区别主要在于 open 限定的类和成员能够在模块外能被继承和重写

  • 变量、常量
    Kotlin中使用var表示变量,val表示局部变量,Swift中使用var表示变量,let表示局部变量
    使用方式一致:
    val,let只能为其赋值一次

val c: Int  // 如果没有初始值类型不能省略
c = 3       // 明确赋值

let xx:Int // 如果没有初始值类型不能省略
xx = 13
  • 入口函数
    Kotlin 应用程序的入口点是 main 函数,Swift也是,只不过它使用@UIApplicationMain对将标注的类作为委托,创建一个 UIApplication 并启动整个程序

  • 模板
    Swift反斜线为前缀的圆括号,如

let multiplier = 3
let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)"

Kotlin使用$符号

var a = 1
// 模板中的简单名称:
val s1 = "a is $a" 

a = 2
// 模板中的任意表达式:
val s2 = "${s1.replace("is", "was")}, but now is $a"
  • Kotlin 对函数返回的简写,简单情况下不用指定返回值,不用return
// 返回参数和
private fun sumByParams(a: Int, b: Int) = a + b
  • 自动类型转换
    Kotlin有自动类型转换,而Swift中所有转换都得是显式的。

Kotlin

    if (obj is String) {
        // `obj` 在该条件分支内自动转换成 `String`
        return obj.length
    }

Swift

let three = 3
let pointOneFourOneFiveNine = 0.14159
// 显式转换
let pi = Double(three) + pointOneFourOneFiveNine

你可能感兴趣的:(Kotlin、Swift对比)