GO:单值上下文中的多值错误 [英] GO: multiple-value in single-value context ERROR

查看:1029
本文介绍了GO:单值上下文中的多值错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 多值fmt.Println()在单值上下文中

我试图创建一个函数,它接受可变数量的int并在每个变量上打印
$ b

GO:

 包主

导入(
fmt


func main(){
slice:= [] int {1,3,4,5}
vf(slice ...)
}

func vf(a ... int)int {
if len(a)== 0 {
返回0
}
var x int
for _,v:= range a {
x = fmt.Println(v)
}
return x
}

嗯有什么不对?

解决方案

查看 http://godoc.org/fmt#Println p>

fmt.Println 返回多个值.. int和and error:

func Println(a ... interfa你只是分配给int。你可能只是分配给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
}


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?

解决方案

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
}

这篇关于GO:单值上下文中的多值错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆