基本语法
1.常量和变量(let and var)
let 定义的常量, 已经赋值之后,就不能修改其值.如果强制修改,系统报错
var 定义的变量, 已经赋值之后,可以修改
2.swift中自动推导类型
在swift 中只用这两种修饰变量,不想OC和其他语言,可以有好多关键字修饰 变量, swift 会根据 当前定义的值,自动的推导是什么类型的
例如 let num = 2 --> num 为int let num = 2.0 --> num 为double let num = "123" --> num 为 字符串string类型的.......
swift中没有隐式的转换 对数据类型要求极其的严格,任何的时候都不会自动的进行隐式转换
例如 let x2 =100 let y2 =10.5 let num1 = Double(x2) + y2 let num2 = x2 + Int(y2)
3.Optional 可选值
定义变量,如果变量定义成"可选的", 可以给这个变量指定一个值,也可以不设置值,默认为nil 定义变量,在类型后面加上一个"?",表示这个变量是可选的 ---- var temp:string? 常数可选项需要设置一个初始值,主要用于构造函数中 --- var num:int? = 10 如果可选项Option的值是一个nil, 不允许参与计算 如果可选项Option有值,只有解包之后,才能够才有运算,在变量后面+"!",表示强行解包
4.?? 运算符
??运算符可以用于判断变量/常量的数值是否是nil,如果是则使用后面的值替代
在使用 Swift 开发时,??能够简化代码的编写
5.控制流
if 在swift中,没有向C语言中的那样,存在"非零" 及真 的情况, 在逻辑判断的时候,要显示的指明具体的判断条件是(true/false). 还有和C语言不同的是, if 后面的条件判断括号()是可以省略的,当时后面的{}是不能省略的 在三目运算符,和C语言的用法是一样的 (? :) 在swift中添加了,可选判断条件 if let guard let 这两个判断的情况正好相反 为什么要引入可选项的判断,可选项的值可能是空值nil,是不被允许做计算的,要确保计算的时候一定是有值的,防止程序崩溃 if let 条件为真 {} 执行大括号的代码 if let 条件为假 {} 不执行大括号的代码 if let 还可以和 where 一起使用 --> if let 后条件为真 同时where 后面的条件也为真 ,才能执行 if let Ourl = url where Ourl.host=="www.baidu.com" if let 不能够和 && 和 || 等条件判断一起使用 guard guard let 条件 else {...} 条件为 "nil" 时, 执行{...} 的内容 guard 的好处,能判断每一个值,在真正代码逻辑,省略了一层嵌套
网友评论