小编sym*_*ian的帖子

如何检查Scanln是否在Golang中抛出错误

我是Go的新手.我一直在寻找答案,我知道确实有一个我还没找到答案.

为了更好地解释我的问题,这是我的代码:

func main() {

    ...

    inputs := new(Inputs)

    fmt.Println("Input two numbers: ")

    fmt.Scanln(&inputs.A)
    fmt.Scanln(&inputs.B)

    fmt.Println("Sum is:", inputs.A + inputs.B)
}
Run Code Online (Sandbox Code Playgroud)

这是我的结构:

type Inputs struct {
    A, B int
}
Run Code Online (Sandbox Code Playgroud)

如果我输入'123'表示输入A而另一个'123'表示输入B,我将输出" Sum is:246 ".但是如果我错误地输入'123j',它将不再有效,因为A和B只接受int(s).

现在,如何从fmt.Scanln中抓住恐慌还是有办法吗?提前致谢.

go panic

-4
推荐指数
1
解决办法
537
查看次数

标签 统计

go ×1

panic ×1