英文:
Multiple-value in single-value context ERROR
问题
在编译我的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
}
嗯,出了什么问题?
英文:
I got this error while compiling my GO code:
multiple-value fmt.Println() in single-value context
I'm trying to create a function that takes in variable number of ints and prints each variable on a line.
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
}
Hmm what's wrong?
答案1
得分: 17
请注意,我将为您提供翻译的代码部分,但不会返回任何其他内容。以下是您要翻译的内容:
请查看 http://godoc.org/fmt#Println
fmt.Println
返回多个值,一个是 int 类型,一个是 error 类型:
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
}
英文:
Check out http://godoc.org/fmt#Println
fmt.Println
returns multiple values.. an int and and error:
func Println(a ...interface{}) (n int, err error)
You are only assigning to the int. try this:
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
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论