如何构建混合数组

its*_*lay 2 go

在ruby我可以创建的数组中填充了类型:

[1, 'hello', :world] # [Fixnum, String, Symbol]
=> [1, "hello", :here]
Run Code Online (Sandbox Code Playgroud)

如何实现类似的数组在Go中填充了混合类型?

如何声明数组?

inf*_*inf 8

你可以通过空接口来做到这一点 - interface{}:

arr := make([]interface{}, 0)

arr = append(arr, "asdfs")
arr = append(arr, 5)
Run Code Online (Sandbox Code Playgroud)

或以字面形式:

arr := []interface{}{"asdfs", 5}
Run Code Online (Sandbox Code Playgroud)

每当您想要使用该数组的值时,您需要使用类型断言.

  • @itsnikolay为什么不直接返回那些结果或包含你的值的结构? (4认同)