为什么 Rust 有结构体和枚举?

2024-03-23

Rust 的枚举是代数数据类型。据我所知,这似乎包含了结构是什么。结构有什么不同需要保留它?


首先,你在语义上是正确的enum严格优于struct至于它能代表什么,因此struct有点多余。

然而,这里还有其他因素在起作用。

  • 易用性:内部的价值enum只能通过匹配(直接)访问;与访问的易用性形成对比struct场地。您可以为每个字段编写访问器,但这确实很麻烦。

  • 区别:一个enum是一个标记联合,一个struct有固定布局;我们(程序员)通常喜欢给事物贴上标签,因此为不同的功能赋予不同的名称是值得赞赏的。

照我看来,struct因此是语法糖。我通常更喜欢精益和平均,但一点点糖可以在很大程度上增加可以简洁地表达的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Rust 有结构体和枚举? 的相关文章

随机推荐