我有以下Golang
1 2 3 4 5 6 7 8 9 10 11 12 13 | package main import"fmt" func main() { variadicFunc("hello","Change","the","World using Golang", 1, 2, 3, 4) } func variadicFunc(messages ...string) { for _, i := range messages { fmt.Println(i) } } |
运行程序时,将引发以下错误。
Cannot use 1(type int) as type string in argument to variadicFunc
您可以使用界面
1 2 3 4 5 6 7 8 9 10 11 12 | package main import"fmt" func main() { variadicFunc("hello","Change","the","World using Golang", 1, 2, 3, 4) } func variadicFunc(messages ...interface{}) { for _, i := range messages { fmt.Println(i) } } |
- Brian Vanover:当我使用interface时,我只是获得打印输出的内存地址,而不是传递的参数字符串。
-
@CheralIrumborai,使用
fmt 包。 上面的代码将为您工作。