interface可表示任意值。
package main
import (
"fmt"
)
func PrintAll(vals []interface{}) {
for _, val := range vals {
fmt.Println(val)
}
}
func main() {
names := []string{"stanley", "david", "oscar"}
//PrintAll(names)
vals := make([]interface{}, len(names))
for i, v := range names {
vals[i] = v
}
PrintAll(vals)
}
例子:
import (
"fmt"
)
func test() []interface{} {
vals := make([]interface{}, 10)
vals[0] = 1
vals[1] = "xx"
return vals
}
func main() {
fmt.Println("xx")
s := test()
fmt.Println(s)
}