Подтвердить что ты не робот

Множественное значение в контексте с одним значением ОШИБКА

Я получил эту ошибку при компиляции кода GO:

multiple-value fmt.Println() in single-value context

Я пытаюсь создать функцию, которая принимает переменное число int и печатает каждую переменную в строке.

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
}

Хм, что случилось?

4b9b3361

Ответ 1

Отъезд 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
}