主帖 17 条回复 你觉得Swift里面的Optional类型是好事儿还是坏事儿? tinyfool · 2014年12月05日 · 阅读 5 · lionlee 等0人欣赏。 Ok,它很安全,不会出现nil,问题是nil真的有这么可怕么?一用问号,代码后面都要用问号或者惊叹号,带来的繁琐是不是更麻烦呢? 你怎么看这个问题?
#6 peterwang 2014年12月05日 写一段代码比较一下使用 Optional 和 不用 Optional 显式写 nil 判断,应该就很清楚了。Optional 的 composability 更好吧。 欣赏 0 反对 0 回复本楼
#8 peterwang 2014年12月05日 @tinyfool 这个 Optional type 是借鉴自 Haskell 的 Maybe,你有兴趣的话可以看看在 Haskell 中 Maybe [1] 是如何改进代码的可读性和可组合性的,我觉得背后的动机是一样的。 [1] http://book.realworldhaskell.org/read/monads.html 欣赏 0 反对 0 回复本楼
#9 webfrogs 2014年12月05日 就近几个月的 swift 使用上来说,我觉得是好事。 不过 optional 也会带来坑,比如对值为 nil 的optional 值使用强制解包的 ! 操作符会导致程序 crash。特别是对 swift 还不熟悉的新手来说经常范这样的错误。 总的来说,感觉 swift 写起来的爽快程度要比 objc 好很多。 欣赏 0 反对 0 回复本楼
#10 nobuta 2014年12月12日 4楼 @netdigger 官方接口返回optional的话,你只有老老实实检查咯,自己写接口还是应该遵循规则可能为空老老实实返回optional,哈哈,虽然很烦 欣赏 0 反对 0 回复本楼
#17 blackzwei 2015年06月29日 和scala的Option[T]类似的吧? 不只是空检查的替代 这个玩意儿是可组合的 有map foreach等等方法 那就不用像以前那样写一堆的if了... 而且还可以用模式匹配 swift里也应该类似吧... 欣赏 0 反对 0 回复本楼