【发布时间】:2017-05-02 13:53:42
【问题描述】:
我尝试编写自己的代码来学习如何在主函数中返回多个值:
package main
import "fmt"
func main() {
fmt.Println("Enter a integer:")
var I int
fmt.Scanf("%d", &I)
fmt.Println("Accepted:", I)
O := half(I)
fmt.Println("Returned:", O)
}
func half(N int) (int, bool) {
var NA int
NA = N / 2
if NA%2 == 0 {
fmt.Println("even")
return NA, true
} else {
fmt.Println("odd")
return NA, false
}
}
并给出错误:half.go|11| multiple-value half() in single-value context。
然而,另一个变体正在工作:
package main
import (
"fmt"
)
func half(number int) (int, bool) {
if x := int(number % 2); x == 0 {
return x, true
} else {
return x, false
}
}
func main() {
fmt.Println(half(1))
fmt.Println(half(2))
}
我做错了什么?如何克服我的错误?
【问题讨论】:
标签: go multiple-value