编译GO代码时出现此错误:
multiple-value fmt.Println() in single-value context
我试图创建一个函数,该函数接收可变数量的整数并在一行上打印每个变量。
GO:
package main
import (
"fmt"
)
func main() {
slice := []int{1,3,4,5}
vf(slice...)
}
func vf(a ...int) int {
if len(a)==0 {
return 0
}
var x int
for _, v := range a {
x = fmt.Println(v)
}
return x
}
嗯,错了什么?
答案 0 :(得分:13)
查看http://godoc.org/fmt#Println
fmt.Println
返回多个值..一个int和错误:
func Println(a ...interface{}) (n int, err error)
您只是分配给int。试试这个:
package main
import (
"fmt"
)
func main() {
slice := []int{1,3,4,5}
vf(slice...)
}
func vf(a ...int) int {
if len(a)==0 {
return 0
}
var x int
for _, v := range a {
x, _ = fmt.Println(v)
}
return x
}