如何在 Golang 中修复单值上下文错误的多个值?

Ary*_*amy 1 go

package main
import "fmt"

func main() {
    fmt.Println("Enter a number: ")
    var addendOne int = fmt.Scan()
    fmt.Println("Enter another number: ")
    var addendTwo int = fmt.Scan()
    sum := addendOne + addendTwo
    fmt.Println(addendOne, " + ", addendTwo, " = ", sum)
}
Run Code Online (Sandbox Code Playgroud)

这引发了一个错误:

单值上下文中的多个值。

为什么会发生,我们如何解决?

Ana*_*ort 5

fmt.Scan返回两个值,而您只能将一个值捕获到addedOne. 您也应该像这样捕获错误:

addendTwo, err := fmt.Scan() 
if err != nil {
  // handle error here
}
Run Code Online (Sandbox Code Playgroud)

如果你想忽略错误值(不推荐!),这样做:

addendTwo, _ := fmt.Scan() 
Run Code Online (Sandbox Code Playgroud)