如何将interface {}转换为[] int?

use*_*472 7 go

我用Go编程语言编程.

假设有一个interface{}包含整数数组的变量.我如何转换interface{}[]int

我试过了

interface_variable.([]int)
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

panic: interface conversion: interface is []interface {}, not []int
Run Code Online (Sandbox Code Playgroud)

One*_*One 12

[]interface{}不仅仅是一个interface{},你必须循环并转换它:

http://play.golang.org/p/R441h4fVMw

func main() {
    a := []interface{}{1, 2, 3, 4, 5}
    b := make([]int, len(a))
    for i := range a {
        b[i] = a[i].(int)
    }
    fmt.Println(a, b)
}
Run Code Online (Sandbox Code Playgroud)