关于Optional的思考

关于Optional的思考

老师理解的Optional的精髓是获取值得时候就报错,从相对源头发现空指针的问题。java中的Optional和swift中的可选值所解决的问题是一样的。我认为Optional设计的精髓是从一开始就让程序员考虑空值的问题,很多语言java,c++,Objective-C,或者一些动态语言python等在定义变量初期不会强制让开发者去考虑空值的情况,这样导致很多时候会忘掉判空或者其他原因导致值为空引起一些bug。我觉得swift和其他语言相比最大的特点,就是定义变量之初就强制程序员考虑空值情况,后续使用变量都需要进行相关判空拆包操作(为此swift创建了很多语法糖简化拆包操作)。这是我对Optional的理解。后续我会看Optional源码对比实现细节。

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你就算使用Optional,你生成的时候使用Optional也可以创建空值。我并不认为 这个是让我么写代码的时候考虑空值。

这个只是让接收Optional的人考虑空值,这个课程里是有讲的。

7七月 2020-03-14 07:29:48

另外,我谈到的这个源头是针对,get这一个点,并不是整个Optional。


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师