"type foo struct"和"type foo[]struct"之间的区

  • 本文关键字:quot foo struct type 之间 go types
  • 更新时间 :
  • 英文 :


这些结构之间的主要区别是什么?

type foo struct {
Name string `json:"name"`
}

type foo []struct {
Name string `json:"name"`
}
type foo1 struct {
Name string `json:"name"`
}
type foo2 []struct {
Name string `json:"name"`
}

简单理解为

type foo2 []foo1 

第一个是一个名为的结构类型。它可以用通常的方式初始化:

// Initialize a foo
f1 := foo{"name1"}
// Initialize a foo slice
f1s := []foo {
foo{"name2"},
foo{"name3"},
}

第二种是命名切片类型,其元素是具有给定字段的匿名结构。它可以这样初始化:

f2 := foo {
{"name4"},
{"name5"},
}

最新更新