第三课 枚举和可选项

@inline
//永远不会被内联(即使开启了编译器优化)

@inline(never) func  test()  {
     print("test")
}

//开启编译器优化后,即使代码很长,也会被内联(递归调用函数,动态派发的函数除外)

@inline (always)  func  test() {
      print ("test")
}
  • Release 模式下,编译器已经开启优化,会自动决定哪些函数需要内联,因此没必要使用 @inline

枚举的基本用法

enum Direction{

    case North
    case Sourth
    case West
    case East

}

var dir =  Direction.East
dir = .West
print(dir)
关联值(Associated Values)
  • 有时会将枚举的成员值跟其他类型的关联值存储在一起,会非常有用
enum  Score{


    case points(Int)
    case grade(Character)
}

var score = Score.points(96)
score = .grade("A")

print(score)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容