包、文件引用
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