实际上,我找到了一种无需重复类型声明即可将元素添加到数组的方法。但它很脏。 slice := []struct { v, p string }{{}} // here we init first element to copy it later el := slice[0] el2 := el // here we copy this element el2.p = "1" // and fill it with data el2.v = "2" // repeat - copy el as match as you want slice = append(slice[1:], el2 /* el3, el4 ...*/) // skip first, fake, element and add actual指向结构的指针切片更传统。在那种情况下,应对方式会略有不同 slice := []*struct { ... }{{}} el := slice[0] el2 := *el这一切远非什么好的做法。小心使用。