在Golang中添加2个数组`type`s [重复]
Posted
技术标签:
【中文标题】在Golang中添加2个数组`type`s [重复]【英文标题】:Adding 2 array `type`s in Golang [duplicate] 【发布时间】:2020-06-06 02:11:45 【问题描述】:我有一个名为EmployeeList
的type
,它只是一个Employee
结构的数组。
如果我必须添加/组合 EmployeeList
对象,我想我可以按如下方式添加它们
package main
import (
"fmt"
)
type Employee struct
Id int `json:"id"`
Name string `json:"name"`
type EmployeeList []Employee
func main()
listA := EmployeeList
EmployeeId: 1, Name: "foo",
EmployeeId: 2, Name: "bar",
listB := EmployeeList
EmployeeId: 3, Name: "baz",
// Print the combined lists
fmt.Println(append(listA, listB))
但是append
抛出错误:
./prog.go:24:21: cannot use listB (type EmployeeList) as type Employee in append
我知道这与不匹配/意外类型有关,但我不确定如何将这两个列表添加在一起?
谢谢!
【问题讨论】:
试试append(listA, listB...)
【参考方案1】:
您不能将EmployeeList
附加到Employee
的数组中。但是因为EmployeeList
被定义为Employee
的列表,所以您可以解压缩该数组并将其元素附加到listA
。您可以使用...
解压阵列。
append(listA, listB...)
(参考类似答案https://***.com/a/16248257/5666087)
【讨论】:
这是有道理的。我猜与 ruby 中的 splat 运算符*args
非常相似。谢谢!以上是关于在Golang中添加2个数组`type`s [重复]的主要内容,如果未能解决你的问题,请参考以下文章