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

faceNL · · 2104 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

# 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 ``` > 如果有对指针不同的见解,可以一起探讨!!!哈哈哈

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2104 次点击  ∙  1 赞  
加入收藏 微博
7 回复  |  直到 2019-05-20 18:46:08
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传