代码改变世界

Swift基础语法

2019-07-27 12:02  iCoderHong  阅读(209)  评论(0编辑  收藏  举报

Swift常见数据类型

值类型(value type) 枚举(enum) Optional
结构体(struct) Bool、Int、Float、Double、Character
String、Array、Dictionary、Set
引用类型(reference type) 类(class) 类(class)

 

 

 

枚举类型

 

有时候将枚举的成员值跟其它类型的值关联存储在一起,会非常有用 (原始值不占用枚举变量的存储空间)

 

隐士原始值(Implicitly)如果枚举原始值类型是Int、String,Swift会自动分类原始值

 

 Swift流程控制

  • Swift中流程控制if、while、for后面的()可以省略,条件后面的大括号不可以省略
  • 从Swift3开始,去除了自增、自减运算符
  • repeat-while相当于C语言中的do-while

 if-else 

 while 

 for

Swift的for循环使用是与区间类型结合的。Swift中区间类型

for循环使用 

 

如果for循环体中未使用到变量i,可以使用_省略

 

 区间运算符用在数组上for循环遍历

 可选项(Optional)

可选项,一般也称之为可选类型,它允许将值设置为nil

 

可选类型的常量或者变量默认值为nil

 可选项是对其它类型的一层包装,可以将它理解为一个盒子

  • 如果为nil,那么它就是个空盒子
  • 如果不为nil,那么盒子里装的是:被包装类型的数据

如果要从可选项中取出被包装的数据,需要使用进行强制解包

如果对值为nil的可选项进行强制解包,将会产生运行时错误

判断可选项是否包含值

可选项绑定(Optional Binding)

 可选项绑定:如果包含值就自动解包,把值赋值给临时的常量或者变量,并返回true,否者返回发false

使用if语句可选绑定实现登录逻辑 

guard语句 

当使用guard语句进行可选项绑定时,绑定的常量、变量也能在外层作用域中使用 

 空合并运算符 ?? 

a ?? b

  • a是可选项
  • b是可选项或者不是可选项
  • a跟b的存储类型必须相同

如果a不为nil 就返回a (如果b此时为不是可选项,返回a时会自动解包)

如果a为nil,就返回b

typealias

typealias用来给类型起别名

Swift标准库的定义:Void就是空元祖()