标签:
let 定义常量,一经赋值不允许再修改var 定义变量,赋值之后仍然可以修改//: # 常量
//: 定义常量并且直接设置数值
let x = 20
//: 常量数值一经设置,不能修改,以下代码会报错
// x = 30
//: 使用 `: 类型`,仅仅只定义类型,而没有设置数值
let x1: Int
//: 常量有一次设置数值的机会,以下代码没有问题,因为 x1 还没有被设置数值
x1 = 30
//: 一旦设置了数值之后,则不能再次修改,以下代码会报错,因为 x1 已经被设置了数值
// x1 = 50
//: # 变量
//: 变量设置数值之后,可以继续修改数值
var y = 200
y = 300
如果要对不同类型的数据进行计算,必须要显式的转换
let x2 = 100
let y2 = 10.5
let num1 = Double(x2) + y2
let num2 = x2 + Int(y2)
Optional 是 Swift 的一大特色,也是 Swift 初学者最容易困惑的问题可选的,表示该变量可以有一个指定类型的值,也可以是 nil?,表示该变量是可选的nil//: num 可以是一个整数,也可以是 nil,注意如果为 nil,不能参与计算
let num: Int? = 10
nil,不允许参与计算解包(unwrap)后才能参与计算!,可以强行解包注意:必须要确保解包后的值不是 nil,否则会报错
?? 运算符?? 运算符可以用于判断 变量/常量 的数值是否是 nil,如果是则使用后面的值替代?? 能够简化代码的编写let num: Int? = nil
let r1 = (num ?? 0) + 10
print(r1)
非零即真概念true / false() 可以省略{} 不能省略let num = 200
if num < 10 {
print("比 10 小")
} else if num > 100 {
print("比 100 大")
} else {
print("10 ~ 100 之间的数字")
}
三目 运算保持了和 OC 一致的风格var a = 10
var b = 20
let c = a > b ? a : b
print(c)
guard 是与 if let 相反的语法,Swift 2.0 推出的let oName: String? = "张三"
let oNum: Int? = 18
guard let name = oName else {
print("name 为空")
return
}
guard let num = oNum else {
print("num 为空")
return
}
// 代码执行至此,name & num 都是有值的
print(name)
print(num)
switch 不再局限于整数switch 可以针对任意数据类型进行判断breakcase后面必须有可以执行的语句default 分支中case 中定义的变量仅在当前 case 中有效,而 OC 中需要使用 {}let score = "优"
switch score {
case "优":
let name = "学生"
print(name + "80~100分")
case "良": print("70~80分")
case "中": print("60~70分")
case "差": print("不及格")
default: break
}
标签:
原文地址:http://www.cnblogs.com/like359881584/p/5771348.html