J'ai essayé de faire mon propre code pour apprendre comment retourner plusieurs valeurs dans la fonction principale:Quelle est la différence entre ces deux variantes?
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
}
}
Et erreur donné: half.go|11| multiple-value half() in single-value context
. Cependant, une autre variante travaillent:
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))
}
Qu'est-ce que je fais mal? Comment surmonter mon erreur?