APi*_*als -3 interface go slice
我知道我可以用字符串填充 Go 切片strings := []string{"something", "something else"},但是除了接口之外我怎么能做同样的事情呢?我尝试了以下方法:
data := []interface{}{{ID: "123"}, {ID: "456"}}
Run Code Online (Sandbox Code Playgroud)
并得到以下错误:
missing type in composite literal
Run Code Online (Sandbox Code Playgroud)
我也尝试使用这样的结构:
type Users struct {
ID string
}
[]Users{{ID: "123"}, {ID: "456"}}
Run Code Online (Sandbox Code Playgroud)
哪个有效,但是mongo的InsertMany函数需要一个[]interface{}参数:
cannot use users (type []Users) as type []interface {} in argument to database.InsertMany
Run Code Online (Sandbox Code Playgroud)
我如何定义和填充一个[]interface{}?
正如错误所说,您缺少复合文字中的类型:
data := []interface{}{Users{ID: "123"}, Users{ID: "456"}}
Run Code Online (Sandbox Code Playgroud)
应该可以工作,因为它不会丢失复合文字中的类型。