Dans Go (golang), le package fmt fournit plusieurs fonctions pour analyser les entrées de la console ou d'autres sources d'entrée.
Pour moi, ceux-ci ont toujours été utiles lors des tests et dans bien d'autres domaines. Et jusqu'à présent, je travaille habituellement avec 4 fonctions lors de la numérisation.
Explorons quelques-uns d'entre eux et voyons comment, pourquoi et quand l'utiliser.
Exemple :
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) }
Exemple de saisie :
Alice 25
Sortie :
Hello Alice, you are 25 years old.
Exemple :
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) }
Exemple de saisie :
Alice 25
Sortie :
Hello Alice, you are 25 years old.
Exemple :
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) }
Exemple de saisie :
Alice 25
Sortie :
Hello Alice, you are 25 years old.
Exemple :
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) }
Exemple de saisie :
Alice 25
Sortie :
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 |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!