Go語言中的結構是欄位的型別集合。 它們可用於將資料分組到表單記錄。
person
結構型別擁有 name
和 age
兩個欄位。建立一個新的結構體。並且可以在初始化結構時命名欄位。忽略的欄位將為零值。&
符號為字首將產生一個指向struct
的指標。
使用點(.
)來存取結構體中的欄位。還可以使用點來存取指標欄位 - 指標將被自動取消參照。
結構體是可變的。
所有的範例程式碼,都放在
F:\worksp\golang
目錄下。安裝Go程式設計環境請參考:/2/23/798.html
structs.go
的完整程式碼如下所示 -
package main
import "fmt"
// This `person` struct type has `name` and `age` fields.
type person struct {
name string
age int
}
func main() {
// This syntax creates a new struct.
fmt.Println(person{"Bob", 20})
// You can name the fields when initializing a struct.
fmt.Println(person{name: "Alice", age: 30})
// Omitted fields will be zero-valued.
fmt.Println(person{name: "Fred"})
// An `&` prefix yields a pointer to the struct.
fmt.Println(&person{name: "Ann", age: 40})
// Access struct fields with a dot.
s := person{name: "Sean", age: 50}
fmt.Println(s.name)
// You can also use dots with struct pointers - the
// pointers are automatically dereferenced.
sp := &s
fmt.Println(sp.age)
// Structs are mutable.
sp.age = 51
fmt.Println(sp.age)
}
執行上面程式碼,將得到以下輸出結果 -
F:\worksp\golang>go run structs.go
{Bob 20}
{Alice 30}
{Fred 0}
&{Ann 40}
Sean
50
51