Go 言語では、標準入力「os.Stdin」からテキストを読み取る、つまりターミナルからデータを取得するために、Scan() メソッドが使用されます。このメソッドは、正常に読み取られたデータの数と発生したエラーを返します。読み取られたデータの数が指定されたパラメータよりも少ない場合は、エラー レポートの理由が返されます。
このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。
Scan シリーズ
Go 言語fmt
パッケージには fmt.Scan
、## が含まれています3 つの関数 #fmt.Scanf と
fmt.Scanln は、プログラムの実行中に標準入力からユーザー入力を取得できます。
func Scan(a ...interface{}) (n int, err error)
func main() { var ( name string age int married bool ) fmt.Scan(&name, &age, &married) fmt.Printf("扫描结果 name:%s age:%d married:%t \n", name, age, married) }
スペースを使用して区切ります。 <pre class="brush:php;toolbar:false">$ ./scan_demo
小明 18 false
扫描结果 name:小明 age:18 married:false</pre>
fmt.Scan
ユーザーが標準入力から入力したデータをスキャンし、空白文字で区切られたデータを指定されたパラメーターに保存します。
Syntax
func Scanf(format string, a ...interface{}) (n int, err error)
func main() { var ( name string age int married bool ) fmt.Scanf("1:%s 2:%d 3:%t", &name, &age, &married) fmt.Printf("扫描结果 name:%s age:%d married:%t \n", name, age, married) }
$ ./scan_demo 1:小明 2:18 3:false 扫描结果 name:小明 age:18 married:false
fmt.Scanf
入力データの区切り文字としてスペースを単純に使用する fmt.Scanf
とは異なります。入力データには特定の入力内容フォーマットが指定されており、そのフォーマットに従って入力されたデータのみがスキャンされ、対応する変数に格納されます。
たとえば、前の例のようにスペース区切り形式でデータを入力した場合、fmt.Scanf
は入力データを正しくスキャンできません。 <pre class="brush:php;toolbar:false">$ ./scan_demo
小明 18 false
扫描结果 name: age:0 married:false</pre>
fmt.Scanln
Syntax<pre class="brush:php;toolbar:false">func Scanln(a ...interface{}) (n int, err error)</pre>
func main() { var ( name string age int married bool ) fmt.Scanln(&name, &age, &married) fmt.Printf("扫描结果 name:%s age:%d married:%t \n", name, age, married) }
Golang チュートリアル
以上がGo 言語での scan メソッドの用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。