简明笔记: 我对Go指针的理解

weixin_38058086 2019-09-20 10:12:48
# Go 简明教程 深入浅出Go指针

希望这边文章能够帮到你。

我查阅了些许网上对指针理解,指针是简洁访问,灵活;变量是直接访问,易懂;变量的值是会变的,地址是固定的(指针指向地址)。

另一层解释:变量是指针(地址)的标签。

```go
func main() {
var people string // 变量
var point *string // 指针

people = "Mr.Potato"
point = &people // 指针指向 people
fmt.Println(*point) // 通过解引用 得到其地址的 变量值
}
------------------------
输出结果:
Mr.Potato
```



虽然我已经在中级篇简单介绍过了,不过可以加深一下对指针的理解。多看几遍可能带来不一样的想法。

换种说法,一个指针变量可以指向任意一个值的内存地址

```go
func main() {
type Personal1 struct { //指向 Personal2
name *string
gender *string
}
type Personal2 struct {
name string
gender string
}
per2 := Personal2{"Mr.Cheese","Male"}
per1 := Personal1{}
per1.name = &per2.name
per1.gender = &per2.gender
fmt.Println(*per1.name,*per1.gender)

}
输出结果:
Mr.Cheese Male
```




> 如果有对指针不同的见解,可以一起探讨!!!哈哈哈

...全文
33 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38108526 2019-09-20
  • 打赏
  • 举报
回复
大二不错哦。
weixin_38140314 2019-09-20
  • 打赏
  • 举报
回复
我?工作12年了。使用GO二个月左右
weixin_38146045 2019-09-20
  • 打赏
  • 举报
回复
一起学习

430

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧