结构体文法

结构体文法通过直接列出字段的值来新分配一个结构体。

使用 Name: 语法可以仅列出部分字段。(字段名的顺序无关。)

特殊的前缀 & 返回一个指向结构体的指针。

struct-literals.go

  1. package main
  2. import "fmt"
  3. type Vertex struct {
  4. X, Y int
  5. }
  6. var (
  7. v1 = Vertex{1, 2} // 创建一个 Vertex 类型的结构体
  8. v2 = Vertex{X: 1} // Y:0 被隐式地赋予
  9. v3 = Vertex{} // X:0 Y:0
  10. p = &Vertex{1, 2} // 创建一个 *Vertex 类型的结构体(指针)
  11. )
  12. func main() {
  13. fmt.Println(v1, p, v2, v3)
  14. }