在单值上下文中的多值错误

huangapple go评论145阅读模式
英文:

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
}

huangapple
  • 本文由 发表于 2014年7月29日 22:22:53
  • 转载请务必保留本文链接:https://go.coder-hub.com/25017745.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定