1、結構體成員的使用:指針變量
示例:
package main //必須有個main包
import "fmt"
//定義一個結構體類型
type Student struct {
id int
name string
sex byte //字符類型
age int
addr string
}
func main() {
//1、指針有合法指向后,才操作成員
//先定義一個普通結構體變量
var s Student
//在定義一個指針變量,保存s的地址
var p1 *Student
p1 = &s
//通過指針操作成員 p1.id 和(*p1).id完全等價,只能使用.運算符
p1.id = 1
(*p1).name = "mike"
p1.sex = 'm'
p1.age = 18
p1.addr = "bj"
fmt.Println("p1 = ", p1)
//2、通過new申請一個結構體
p2 := new(Student)
p2.id = 1
p2.name = "mike"
p2.sex = 'm'
p2.age = 18
p2.addr = "bj"
fmt.Println("p2 = ", p2)
}
執行結果:
第一種方法:
p1 = &{1 mike 109 18 bj}
第二種方法:
p2 = &{1 mike 109 18 bj}
