Go (golang) では、fmt パッケージは、コンソールまたは他の入力ソースからの入力をスキャンするためのいくつかの関数を提供します。
私にとって、これらはテスト中や他の多くの分野で常に役に立ちました。これまでのところ、スキャン中に通常 4 つの機能を使用しています。
それらのいくつかを調べて、それをどのように、なぜ、いつ使用するかを見てみましょう。
例:
package main import ( "fmt" ) func main() { var name string var age int fmt.Print("Enter your name and age: ") fmt.Scan(&name, &age) // Reading input separated by space fmt.Printf("Hello %s, you are %d years old.\n", name, age) }
入力例:
アリス25
出力:
Hello Alice, you are 25 years old.
例:
package main import ( "fmt" ) func main() { var name string var age int fmt.Print("Enter your name and age: ") fmt.Scanln(&name, &age) // Reads until newline is encountered fmt.Printf("Hello %s, you are %d years old.\n", name, age) }
入力例:
アリス25
出力:
Hello Alice, you are 25 years old.
例:
package main import ( "fmt" ) func main() { var name string var age int fmt.Print("Enter your name and age (formatted): ") fmt.Scanf("%s %d", &name, &age) // Reads formatted input fmt.Printf("Hello %s, you are %d years old.\n", name, age) }
入力例:
アリス25
出力:
Hello Alice, you are 25 years old.
例:
package main import ( "bufio" "fmt" "os" "strings" ) func main() { reader := bufio.NewReader(os.Stdin) fmt.Print("Enter your name and age: ") input, _ := reader.ReadString('\n') // Reads entire line including spaces input = strings.TrimSpace(input) // Trim newline and spaces fmt.Printf("You entered: %s\n", input) }
入力例:
アリス25
出力:
package main import ( "fmt" ) func main() { var name string var age int fmt.Print("Enter your name and age: ") fmt.Scan(&name, &age) // Reading input separated by space fmt.Printf("Hello %s, you are %d years old.\n", name, age) }
Function | Purpose | Stops Reading At | Supports Formatting? | Multiple Variables? | Use Case |
---|---|---|---|---|---|
fmt.Scan | Basic scanning | Whitespace | ❌ | ✅ | Simple input without newline |
fmt.Scanln | Scans until newline | Newline (n) | ❌ | ✅ | Input until newline |
fmt.Scanf | Formatted input scanning | Controlled by format | ✅ | ✅ | Precise formatted input |
bufio.NewReader | Advanced input handling | Customizable | ✅ | ❌ | Large input with spaces |
以上がGoLang でスキャンする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。