- Go语言底层原理剖析
- 郑建勋
- 198字
- 2021-10-15 18:09:06
3.1 类型推断的优势
语言支持类型推断有两个主要的优势。一是如果使用得当,那么它可以使代码更易阅读。例如,可以将C++代码
![](https://epubservercos.yuewen.com/88BA42/21190707608528606/epubprivate/OEBPS/Images/41662_59_2.jpg?sign=1739394630-uEo4BgqksHx7Q2S8GHcqvIW6zjlG4sGS-0-890b70f57068c424deb9c450828d3ad8)
变为
![](https://epubservercos.yuewen.com/88BA42/21190707608528606/epubprivate/OEBPS/Images/41662_59_3.jpg?sign=1739394630-y8znhBmiS0hd1gKjWQ4kmFX1xrPQmGYL-0-5f155f7ddefdf4383cbab3fb426a8d36)
二是如果类型更加复杂,那么类型推断的价值变得显而易见。在许多情况下,这将减少代码中的冗余信息。
类型推断还具有动态语言的灵活特性,例如Haskell语言的如下代码,不管变量x是什么类型,都加1并返回结果。
![](https://epubservercos.yuewen.com/88BA42/21190707608528606/epubprivate/OEBPS/Images/41662_60_1.jpg?sign=1739394630-AaxvRbXkxlMDH7BMZCr8k4Ye7JCfSehJ-0-5bd9f613e193ef83f9e55539a0858693)
尽管如此,显式地指出类型仍可以让编译器更轻松地了解代码实际应执行的操作,而不会犯任何错误。