Go指針實例

Go語言中的結構是字段的類型集合。 它們可用於將數據分組到表單記錄。

person 結構類型擁有 nameage 兩個字段。創建一個新的結構體。並且可以在初始化結構時命名字段。忽略的字段將爲零值。&符號爲前綴將產生一個指向struct的指針。

使用點(.)來訪問結構體中的字段。還可以使用點來訪問指針字段 - 指針將被自動取消引用。
結構體是可變的。

所有的示例代碼,都放在 F:\worksp\golang 目錄下。安裝Go編程環境請參考:http://www.yiibai.com/go/go\_environment.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