概念簡介
Go語言的結構體(struct)是帶類型的字段(fields)集合。這在組織數據時非常有用。
例程代碼
package main
import "fmt"
// 這裏的 `person` 結構體包含了 `name` 和 `age` 兩個字段。
type person struct {
name string
age int
}
func main() {
// 使用這個語法創建新的結構體元素。
fmt.Println(person{"Bob", 20})
// 你可以在初始化一個結構體元素時指定字段名字。
fmt.Println(person{name: "Alice", age: 30})
// 省略的字段將被初始化為零值。
fmt.Println(person{name: "Fred"})
// `&` 前綴生成一個結構體指針。
fmt.Println(&person{name: "Ann", age: 40})
// 使用`.`來訪問結構體字段。
s := person{name: "Sean", age: 50}
fmt.Println(s.name)
// 也可以對結構體指針使用`.` - 指針會被自動解引用。
sp := &s
fmt.Println(sp.age)
// 結構體是可變(mutable)的。
sp.age = 51
fmt.Println(sp.age)
}
執行&輸出
$ go run structs.go
{Bob 20}
{Alice 30}
{Fred 0}
&{Ann 40}
Sean
50
51
課程導航
學習上一篇:Go語言教程:指針 學習下一篇:Go語言教程:方法
相關資料
本例程github源代碼:https://github.com/xg-wang/gobyexample/tree/master/examples/structs