登录
首页 >  Golang >  Go问答

golang 的静态类型如何允许变量没有指定任何类型

来源:stackoverflow

时间:2024-02-14 15:27:21 197浏览 收藏

今天golang学习网给大家带来了《golang 的静态类型如何允许变量没有指定任何类型》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

问题内容

所有这些都在 golang 中工作: var i int = 2 var i = 2 i := 2 为什么我们说 golang 是静态类型的?它应该是动态类型的吧?

如果golang在编译时进行类型解析,那么它应该会增加程序的编译时间,那么为什么golang以其更快的编译时间而闻名呢?


正确答案


粘贴@mkopriva的答案。

它是静态类型的,因为您无法在运行时更改变量的类型。不显式指定变量的类型并不意味着该变量没有类型,在这些情况下使用“类型推断”。例如编译器查看表达式的 RHS,看到 2,并根据规范中列举的规则决定为变量提供什么类型。

在所有这些实例中,i 都是整数。在 i := 2 的情况下,变量 i 隐式是一个整数。您稍后可以将 5142 分配给 i,但无法将任何其他数据类型分配给 is。

Go 只是 implicitly 从初始分配推断数据类型。

好了,本文到此结束,带大家了解了《golang 的静态类型如何允许变量没有指定任何类型》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>