登录
首页 >  Golang >  Go问答

抓住暗影的本质

来源:stackoverflow

时间:2024-02-21 17:18:25 330浏览 收藏

学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《抓住暗影的本质》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!

问题内容

在 go 中,可以隐藏像 int 这样的内置类型;所以这是合法的:

var a int
a = 1
fmt.Println(a)

int := 2  //<-- catching this
fmt.Println(int)

演示:https://play.golang.org/p/lu6z8bw7hzs

是否可以通过一些工具捕获它?


正确答案


有建议:https://github.com/golang/go/issues/38832

不仅影子是合法的,结构体字段也是合法的:

type myStruct struct {
        int
    }
    a := myStruct{}
    a.int = 2

goland 有 ide 检查,它会显示警告:“变量 'int' 与内置类型冲突”,但它不会显示结构体字段的警告。

问题是:语言允许,所以一些程序员可能会故意使用这个功能。

今天关于《抓住暗影的本质》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

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