-4

私は行くのが初めてです。私は答えを探してきましたが、まだ見つけられていない答えが本当にあることを知っています。

私の質問をよりよく説明するために、ここに私のコードがあります:

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)
}

そして、ここに私の構造体があります:

type Inputs struct {
    A, B int
}

入力 A に「123」を入力し、入力 B に別の「123」を入力すると、「Sum is: 246」という出力が得られます。しかし、誤って'123j'を入力すると、A と B は int(s) のみを受け入れるため、機能しなくなります。

では、 fmt.Scanlnからパニックをキャッチする方法、または方法はありますか? 前もって感謝します。

4

1 に答える 1