登录
首页 >  Golang >  Go问答

golang 被 * & 搞晕了,求解答

来源:SegmentFault

时间:2023-02-16 15:23:50 480浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《golang 被 * & 搞晕了,求解答》,介绍一下go,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

clipboard.png

如图
按我的理解

var ticker *Ticker  // 是一个指针变量
ticker = &Ticker{ // 指针指向结构体的地址
    Url: "werwerwer",
    Value: 33333333,
}
fmt.Println(ticker.Url) // 应该输出ticker.Url 的内存地址才对啊,怎么直接是值?

没有系统语言的编程经验
对指针还不太理解
求大神解答

正确答案

你的

Ticker
结构体中的
Url
string
类型,并不是
*string
, 所以可以正确输出 字符信息。

至于结构体的指针,文档上描述为:

Pointers to structs
Struct fields can be accessed through a struct pointer.

To access the field X of a struct when we have the struct pointer p we
could write (*p).X. However, that notation is cumbersome, so the language permits us instead to write just p.X, without the explicit dereference.

就是说结构体的的字段/方法可以通过指针直接使用,而不用啰嗦的显性写成(*p),这是语言允许的。

理论要掌握,实操不能落!以上关于《golang 被 * & 搞晕了,求解答》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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