이 interface{}
, 빈 인터페이스를 사용하여 조금 추한하지만 가능 :
package main
import "fmt"
func main() {
variadic := []interface{}{}
variadic = append(variadic, "foo")
variadic = append(variadic, []interface{}{"bar", 42})
//this will print "foo"
fmt.Println(variadic[0])
//note that you have to cast variadic[1] to an array before accessing it
fmt.Println(variadic[1].([]interface{})[0])
}
각 요소는 다양한 길이 아무것도의 배열해야하는 가정을 허용하는 경우, 그것은 조금 덜 추한 :
package main
import "fmt"
func main() {
variadic := [][]interface{}{}
variadic = append(variadic, []interface{}{"foo"})
variadic = append(variadic, []interface{}{"bar", 42})
fmt.Println(variadic[0])
fmt.Println(variadic[1][0])
fmt.Println(variadic[1][1])
}
실제로 추악하지만 추측 할 수 있습니다. 감사! –
http://play.golang.org/p/OSPskVlISE –
두 번째 예는 2 차원을 다루는 경우에만 적합합니다. 그렇지 않으면 추악 해집니다. http://play.golang.org/p/Is2Av34sUs –