1. ホーム
  2. スクリプト・コラム
  3. ゴラン

Go言語によるスキャンスペース終了入力問題への対応

2022-02-13 04:49:22

問題点

Go言語入力 Scan どちらか Scanf または Scanln などがあり、いずれも入力の最後がスペースで終わっています。

しかし、私たちの入力はスペース付きかもしれません。
例えば Fan One 666

スキャン

var msg string
_,_ =fmt.Scan(&msg)
fmt.Printf(msg)


スキャンフ

var msg string
_,_ =fmt.Scanf("%s",&msg)
fmt.Printf(msg)


スキャンルン

var msg string
_,_ =fmt.Scanln(&msg)
fmt.Printf(msg)


3つともこのようになっていて、スペースで入力が終了していることがわかります。

解決する

そうすると Scan に切り替えて bufio を標準入出力フォーマットに変換します。

var msg string
reader := bufio.NewReader(os.Stdin) // standard input and output
msg,_ = reader.ReadString('\n') // end of carriage return
TrimSpace(msg) // remove the last space
fmt.Printf(msg)


問題解決

上記は、Go言語を使用して、スキャンスペースの入力問題の終わりを解決するための詳細です、より多くの情報は、スキャンスペースの入力問題の終わりを解決するために、スクリプトの家の他の関連記事に注意を払うください