变量常量
var a=10 //变量 let b=10 // 常量
明确声明类型
var a:string
字符串插值
var str = "Hello, playground" print("字符串(str)")
整数和浮点数转换
var a=1.5 var b=3 var c=a + Double(b)
浮点数转成整数会舍弃小数部分
var a=Int(1.5) //1
类型别名
typealias A = Int var a :A = 3
元组
var a = (32, "ok") //按索引输出 print(a.0) //32 //下划线忽略某元祖位置 var (_,i)=a print(i)
命名元组
var a = (age:32, name:"tom") print(a.name)
可空类型
var a:Int? print(a) //Optional(9)
//强制解包
print(a!)
无值用nil判断
if a != nil { print("a") }else{ print("err") }
var a : String?="a"
//如果a无值,则跳过if
if let ok=a{ print("ok") }
错误处理
func err() throws{ } do { try err() } catch{ }
断言
var a=3 //如果表达式返回false,则退出程序 assert(a<2,"exit") print(a)
如果b有数据则返回b,如果b是nil则返回a
var a=3 var b :Int? print(b ?? a)
范围运算符
1.近程范围运算符
for i in 1...6{ print(i) }
2.半开范围
从a运行到b但不包括b
for i in 1..<6{ print(i) }
3.单面射程
从meng开始到最后
let arr=["tom","liu","meng","wang","lucy","andy"] for i in arr[2...]{ print(i) }
从起始到meng 包括meng
arr[...2]