golang学习笔记(十一):指针的定义和使用、数组指针、指针数组、结构体指针

18 篇文章 0 订阅

golang 学习笔记

指针的定义

var 指针变量名 *变量类型 = &数据变量名
	var a int = 10
	//fmt.Printf("%p\n", &a)

	//	定义指针变量存储变量的地址
	var p *int = &a

	//fmt.Printf("%p\n", p)
	//通过指针间接修改变量的值
	//写操作
	*p = 123
	

指针的使用

//定义指针 指向数组  数组指针
//自动推导类型创建数组指针
//指针和数组建立关系
arr := [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
var p *[10]int
p = &arr

	

	//通过指针间接操作数组
	for i := 0; i < len(p); i++ {
		fmt.Println(p[i])
	}

数组指针

//定义指针 指向数组  数组指针
//自动推导类型创建数组指针
//p := &arr
	arr := [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
//指针和数组建立关系
	var p *[10]int
	p = &arr

指针数组

//指针数组  数组元素是指针类型
	a := 10
	b := 20
	c := 30
	var arr [3]*int = [3]*int{&a, &b, &c}
	
	for i := 0; i < len(arr); i++ {
		fmt.Println(*arr[i])
	}

结构体指针

	var per Person = Person{101, "张三疯", "男", 180, "武当山"}
	//fmt.Printf("%p\n", &per)
	//定义指针接收结构体变量地址
	//p := &per
	var p *Person = &per
	//通过指针间接修改结构体成员的值
	(*p).name = "张君宝"
	//指针可以直接操作结构体成员
	p.age = 140
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值