Swift中如何编写带类型的nil?是否有更简洁的写法?
Swift 中返回带类型 nil 的简洁写法
你可以直接通过以下几种方式简化代码,无需额外声明变量:
方法1:类型转换(最常用)
通过as关键字直接指定 nil 的类型,一行完成返回:
// 返回 String 类型的 nil return nil as String? // 返回 Thing 类型的 nil return nil as Thing?
方法2:使用 Optional 枚举的 none 关联值
Optional 本质是枚举类型,none 就是 nil 的底层表示,也可以这样写:
// 返回 String 类型的 nil return Optional<String>.none // 返回 Thing 类型的 nil return Optional<Thing>.none
补充:上下文可推断时直接返回 nil
如果当前函数的返回类型已经明确是String?或Thing?,编译器能自动推断类型,这时直接返回nil即可:
func getOptionalString() -> String? { // 编译器自动识别为 String? 类型的 nil return nil } func getOptionalThing() -> Thing? { return nil }
内容的提问来源于stack exchange,提问作者Fattie
相关产品推荐
相关产品推荐

