Go 简明教程 深入浅出Go指针

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

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

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

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

面向奶酪:Go 简明教程 深入浅出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

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

公众号: 面向奶酪
本人大二,哈哈一起探讨!!!

相关文章:

  • 2021-10-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-11
  • 2021-10-21
猜你喜欢
  • 2021-08-27
  • 2021-11-11
  • 2021-07-28
  • 2021-07-24
  • 2021-06-30
相关资源
相似解决方案