私が使用する理由:次にGoでfmt.Scanfを使用すると=の使用は常に1を返しますか?
var n int
a, _ := fmt.Scanf("%d",&n)
a == 1
、n
は、入力することによって、その値を変更しました。
私が使用する理由:次にGoでfmt.Scanfを使用すると=の使用は常に1を返しますか?
var n int
a, _ := fmt.Scanf("%d",&n)
a == 1
、n
は、入力することによって、その値を変更しました。
fmt.Scanf()
正常スキャンアイテムの数を返す:
scanfのは、フォーマットによって決定されるように連続した引数に連続するスペースで区切られた値を格納し、標準入力から読み取られたテキストをスキャンします。 正常にスキャンされたアイテムの数を返します。引数の数よりも少ない場合は、errが理由を報告します。
あなたの入力はint
に嵌合する有効な整数があるのであれば、fmt.Scanf()
は、それを解析し、n
に保管して成功し、それが返されます。1.
万一ご入力無効な番号(例えばstring
値"a"
)は、スキャンが成功しないだろう、そう0
は、この例のように、非nil
エラーとともに返されることになります。
var n int
a, err := fmt.Sscanf("a", "%d", &n)
fmt.Println(a, err)
どの出力(Go Playgroundで試してください):
0 expected integer
ありがとう、私はそれを持っている:) –
代わりに何を期待しましたか? – Flimzy