Go Lire l'entrée depuis la console


Exemple

Utiliser scanf

Scanf scanne le texte lu depuis l'entrée standard, stockant les valeurs successives séparées par des espaces dans des arguments successifs, déterminés par le format. Il renvoie le nombre d'éléments analysés avec succès. Si cela est inférieur au nombre d'arguments, err indiquera pourquoi. Les nouvelles lignes dans l'entrée doivent correspondre aux nouvelles lignes du format. La seule exception: le verbe% c analyse toujours la prochaine rune dans l'entrée, même s'il s'agit d'un espace (ou d'un onglet, etc.) ou d'une nouvelle ligne.

 # Read integer 
 var i int
 fmt.Scanf("%d", &i)

 # Read string 
 var str string
 fmt.Scanf("%s", &str)

Utilisation de l' scan

L'analyse analyse le texte lu à partir de l'entrée standard, stockant les valeurs successives séparées par des espaces dans des arguments successifs. Les nouvelles lignes comptent comme un espace. Il renvoie le nombre d'éléments analysés avec succès. Si cela est inférieur au nombre d'arguments, err indiquera pourquoi.

 # Read integer 
 var i int
 fmt.Scan(&i)

 # Read string 
 var str string
 fmt.Scan(&str)

Utiliser scanln

Sscanln est similaire à Sscan, mais arrête l'analyse à la nouvelle ligne et après le dernier élément, il doit y avoir une nouvelle ligne ou EOF.

# Read string
var input string
fmt.Scanln(&input)

En utilisant bufio

# Read using Reader
reader := bufio.NewReader(os.Stdin)
text, err := reader.ReadString('\n')

# Read using Scanner
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
    fmt.Println(scanner.Text())
}