知识卡片
可选值类型的设计动机
内容
普通变量在 Swift 中不允许被赋值为空,任何”可能没有值”的情况都必须显式声明为可选类型, 用一层包装把”有值”与”无值”变成类型系统的一部分,而不是留给开发者在运行时自行判断。 这与只靠开发者手动检查空值的做法(如 Objective-C 中直接判断是否为 nil)形成对比:把 空值可能性从运行时问题前移到编译期,编译器会强制要求处理”无值”分支,减少因遗漏空值 检查导致的崩溃。发散:这是”让非法状态无法表达”这一设计原则的具体体现——与其依赖开发者 自觉,不如让类型系统本身排除掉那部分错误可能。
参考来源
《Swift 4从零到精通iOS开发》第2章《量值与基本数据类型》