構造体リテラル

構造体リテラルは、そのフィールドの値を列挙することによって新しく割り当てられた構造体値を示します。

Name: 構文を使用することで、フィールドのサブセットのみを列挙できます。(名前付きフィールドの順序は無関係です。)

特殊接頭辞 & は、構造体値へのポインタを返します。

  1. package main
  2. import "fmt"
  3. type Vertex struct {
  4. X, Y int
  5. }
  6. var (
  7. v1 = Vertex{1, 2} // has type Vertex
  8. v2 = Vertex{X: 1} // Y:0 is implicit
  9. v3 = Vertex{} // X:0 and Y:0
  10. p = &Vertex{1, 2} // has type *Vertex
  11. )
  12. func main() {
  13. fmt.Println(v1, p, v2, v3)
  14. }