什么是结构体指针?
在golang中,结构体是一种自定义的复合数据类型,可以将不同的数据类型组合成一个单独的实体来表示现实世界中的某个对象。
结构体指针,即指向结构体变量的指针,可以通过指针来操作结构体变量,包括访问结构体变量中的成员、修改结构体变量的值等。
如何初始化结构体指针?
在golang中,初始化结构体指针的方式有两种:
- 使用new()函数
- 使用&符号取一个结构体实例的地址
使用new()函数来初始化结构体指针的方式很简单,其语法为:
var p *结构体类型 = new(结构体类型)
例如,我们定义了一个结构体类型student:
type student struct { name string age int }
使用new()函数初始化结构体指针的示例代码如下:
var s *student = new(student) s.name = "tom" s.age = 18
使用&符号来取一个结构体实例的地址也很简单,语法为:
var p *结构体类型 = &结构体变量
例如,我们定义了一个结构体变量stu:
stu := student { name: "tom", age: 18, }
使用&符号取结构体实例的地址来初始化结构体指针的示例代码如下:
var p *student = &stu
结构体指针的使用
初始化完成后,我们可以使用结构体指针来访问结构体变量中的成员、修改结构体变量的值等操作。
使用结构体指针访问结构体变量的成员,可以通过间接引用指针来操作结构体变量,语法为:
p.成员名 = 值
例如,我们使用上面的示例代码初始化的结构体指针s来访问结构体变量中的成员name:
fmt.println(s.name)
使用结构体指针修改结构体变量的值,也可以通过间接引用指针来操作结构体变量,语法为:
p->成员名 = 值
例如,我们使用上面的示例代码初始化的结构体指针s来修改结构体变量中的成员age:
s->age = 20
需要注意的是,结构体指针在使用前必须要初始化,否则指针为空指针,会出现访问非法内存的错误。
本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/golang-35z.html
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及捕鱼10元起上10元下的版权问题,且不对任何资源负法律责任。
如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。
如有侵犯您的捕鱼10元起上10元下的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!