package mainimport "fmt"func main() { type student struct { id int name string sex byte age int addr string } //1、必须先有合法的指针指向后,才可以操作成员 //先定义一个普通结构变量 var s student var p1 *student //通过指针操作成员,不管是p1还是*p1都是等价的,只能使用.运算符 p1 = &s p1.id = 1 (*p1).name = "mike" p1.sex = 'm' p1.age = 18 p1.addr = "NJ" fmt.Println("p1 = ", *p1) //也可以使用这种方式,使用new函数新申请一块内存空间 p2 := new(student) p2.id = 2 p2.name = "Baylor" p2.sex = 'm' p2.age = 18 p2.addr = "NJ" fmt.Println("p2 = ", *p2)}
执行结果:
p1 = { 1 mike 109 18 NJ}p2 = { 2 Baylor 109 18 NJ}