Skip to main content

{}

抱歉,我之前的解释可能让你困惑了。实际上,在 Go 中,数组、切片、结构体和映射等数据类型的字面量初始化确实都是使用大括号 {}。下面是一些例子:

  • 数组[n]T{}[...]T{},例如:

    arr := [3]int{1, 2, 3}
  • 切片[]T{},例如:

    slice := []int{1, 2, 3}
  • 结构体T{},例如:

    type Person struct {
    Name string
    Age int
    }
    p := Person{Name: "Alice", Age: 30}
  • 映射(map)map[K]V{},例如:

    m := map[string]int{"a": 1, "b": 2}

所以,字面量初始化确实都是使用 {}。对于通道和指针等类型,它们的创建通常使用 makenew 函数。