ホームページ  >  記事  >  バックエンド開発  >  golang は入力をどのように処理しますか?

golang は入力をどのように処理しますか?

coldplay.xixi
coldplay.xixiオリジナル
2020-07-18 14:53:434652ブラウズ

Golang の入力処理方法: 1. [fmt.Scan] は対話的に入力を受け入れ、スペースを使用して単語を分割します; 2. [fmt.Scanln] は入力を受け取る変数名と変数の数を指定します; 3. [fmt .Scanf] 入力形式を指定し、不要な部分を直接除外する必要があります。

golang は入力をどのように処理しますか?

Golang の入力処理方法:

1.fmt.Scan

fmt.Scan対話的に入力を受け入れ、スペースを使用して単語を分割します。 Scan 関数を呼び出すときは、入力を受け取る変数名と変数の数を指定する必要があります。

Scan 関数は、指定されたすべての変数が受信されるまで戻りません。また、キャリッジ リターン文字を使用して事前に関数を返すことはできません。

fmt.Println("Please enter the firstName and secondName: ")
fmt.Scan(&afirstName, &asecondName)
fmt.Printf("firstName is %s, secondName is %s\n", afirstName, asecondName)

結果は次のとおりです:

Please enter the firstName and secondName:
zz
rr
firstName is zz, secondName is rr

2. fmt.Scanln

##Scanln呼び出し時には、次も指定する必要があります。受信する入力、変数名と変数番号。

Scan との違いは、

\n は関数が早期に戻り、空に戻るときにまだ値を受け取っていない変数を割り当てることです。

fmt.Println("Please enter the firstName and secondName: ")
fmt.Scanln(&bfirstName, &bsecondName)
fmt.Printf("firstName is %s, secondName is %s\n", bfirstName, bsecondName)

結果は次のとおりです:

Please enter the firstName and secondName:
zr
firstName is zr, secondName is

3. fmt.Scanf

Scanf を使用して入力を処理する方法は、さらに詳細です。柔軟な加工方法の種類。

入力形式を指定する必要があります。入力形式が完全に理解されているシナリオに適しています。不要な部分を直接フィルタリングできます。

fmt.Println("Please enter the firstName and secondName: ")
fmt.Scanf("//%s\n%s", &cfirstName, &csecondName)
fmt.Printf("firstName is %s, secondName is %s", cfirstName, csecondName)

結果は次のとおりです。

1) このシナリオでは、入力を受け取るときに、不要な部分「//」と「\n」が除外され、受け取った部分が便利な 2 つの文字列 zz と rr。

Please enter the firstName and secondName:
//zz
rr
firstName is zz, secondName is rr

2) 入力が指定された形式に準拠していない場合、準拠していない点から開始して、それ以降の変数値は空になります。

Please enter the firstName and secondName:
//zr ui
firstName is zr, secondName is

関連する学習に関する推奨事項:

Go 言語チュートリアル

以上がgolang は入力をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。