rust 有空安全机制为什么不搞一套和 kotlin 和 dart 那样的空安全语法糖来替代手写 Option ,感觉写起来挺啰嗦的。
对比下:
// 声明可空
var number: Int? = null
// 取值,为空时给默认值
number ?: 0
// 声明可空
int? number = null;
// 取值,为空时给默认值
number ?? 0
// 声明可空
let number:Option<i32> = None;
// 取值,为空时给默认值
number.unwrap_or(0);
可以看到 kotlin 和 dart 有语法糖写起来舒服多了,rust 为啥不支持下,写成这样:
let number:i32? = None;
number ?? 0
当然还有更方便的链式调用,order?.user?.name
这种
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.