Warum ist das ein gültiges Programm?Mehrfacher Rückgabewert und: = in go
package main
import "fmt"
func giveMeError(limit int) ([]string, error) {
return nil, fmt.Errorf("MY ERROR %d", limit)
}
func main() {
res1, err := giveMeError(1)
if err == nil {
fmt.Println("res", res1)
} else {
fmt.Println("err", err)
}
res2, err := giveMeError(5)
if err == nil {
fmt.Println("res", res2)
} else {
fmt.Println("err", err)
}
}
Und das ist nicht?
package main
import "fmt"
func giveMeError(limit int) ([]string, error) {
return nil, fmt.Errorf("MY ERROR %d", limit)
}
func main() {
res, err := giveMeError(1)
if err == nil {
fmt.Println("res", res)
} else {
fmt.Println("err", err)
}
res, err := giveMeError(5)
if err == nil {
fmt.Println("res", res)
} else {
fmt.Println("err", err)
}
}
bemängelt, dass ./main.go:18: no new variables on left side of :=
Ich dachte :=
nicht Wert zu vorhandenen Variablen verwendet werden können, ändern?