一、枚举
1.定义
enum Animal{ case dog case cat case bird } //可以编译器可以推断出右边的类型。点可以省略 var ani:Animal = .bird switch ani { case .bird: print("is bird") case .cat: print("is cat") default: print("other") }
2.关联值
可以给枚举值成员赋值
enum Animal{ case dog(Int,String) case cat(Int,Int) } var ani:Animal = .dog(3, "BigDog") switch ani { case .dog(let a, let b): print(a,b) //如果都是定let或者var,可以提到前面 case let .cat(i, j): print(i,j) }
3.原始值
enum Animal:Int { case dog = 25 case cat = 17 } //通过枚举的rawValue,查出枚举变量 Animal(rawValue: 25) //dog
二、结构
结构是值类型
1.
struct Stuent{ var age = 19 var name = "tom" } var stu=Stuent() print(stu.age)
2.
var stu=Stuent(age: 20, name: "lili")
三、类
类是引用类型
1.
class Stuent{ var age = 19 var name = "tom" } // var stu=Stuent() print(stu.age)