Golang Lire de Stdin

Golang Lire de Stdin
Dans la plupart des langages de programmation, vous avez la possibilité de lire les entrées de la console et de la stocker dans une variable. La programmation n'est pas laissée à cet égard. Dans cet article, nous découvrirons comment lire les entrées de la console dans la programmation GO.

Importations requises

Pour lire les entrées de la console, nous devons importer quelques packages. Le premier est le package Bufio, le package FMT et le package OS.

Le package Bufio vous permet de lire des caractères du stdin à la fois. Le package FMT est utilisé pour gérer les opérations d'E / S, et le système d'exploitation offre des fonctionnalités système de bas niveau.

L'extrait suivant importe tous les packages requis:

importer (
"Bufio"
"FMT"
"OS"
)

Personnage de lecture de Golang

Laissez-nous voir comment vous pouvez lire un seul personnage Unicode du stdin dans la langue go. Considérez le code suivant fourni:

package principal
importer (
"Bufio"
"FMT"
"enregistrer"
"OS"
)
func main ()
fmt.Println ("Tapez un personnage>")
lecteur: = bufio.NewReader (OS.Stdin)
char, _, err: = lecteur.Readrune ()
Si err != nil
enregistrer.Fatal (euh)

fmt.Printf ("Unicode char:% u \ n", char)

Dans l'exemple précédent, nous créons un nouveau lecteur à partir du package Bufio et passons le système d'exploitation.Stdin comme paramètre.

Nous lisons ensuite le caractère et l'erreur du lecteur. Remarquez que nous utilisons la méthode readrune () pour retourner un caractère Unicode.

Le code précédent doit renvoyer une sortie comme indiqué:

Tapez un personnage>
UN
Unicode Char: U + 0041

La sortie ci-dessus montre le point de code Unicode pour le caractère «A."

Golang Read Multi-Line

Si vous souhaitez lire plusieurs lignes de la console, vous pouvez utiliser la méthode readString () au lieu de Readrune, comme indiqué ci-dessus.

Un exemple de code est fourni ci-dessous:

package principal
importer (
"Bufio"
"FMT"
"enregistrer"
"OS"
)
func main ()
fmt.Println ("Entrez une chaîne")
lecteur: = bufio.NewReader (OS.Stdin)
str, err: = lecteur.ReadString ('\ n')
Si err != nil
enregistrer.Fatal (euh)

fmt.Printf ("% s", str)

Dans cet exemple, le lecteur lira en continu l'entrée de l'utilisateur jusqu'à ce qu'elle rencontre le délimiteur spécifié. Dans notre exemple, si le lecteur rencontre un personnage de nouvelle ligne, il cesse de lire.

Si nous exécutons le code, nous devrions obtenir une sortie comme suit:

Entrez une chaîne

Bonjour le monde de Stdin

Scanner Golang

Une autre méthode que nous pouvons utiliser pour accepter les entrées de STDIN est la méthode du scanner. La méthode NewsCanner () est très utile lors de la lecture d'un fichier. Cependant, nous pouvons l'utiliser pour lire à partir de stdin.

Un exemple de code est illustré ci-dessous:

package principal
importer (
"Bufio"
"FMT"
"OS"
)
func main ()
scanner: = bufio.NewsCanner ((OS.Stdin))
entrée: = make ([] chaîne, 0)
pour
fmt.Println ("Type ici:")
scanner.Analyse()
txt: = scanner.Texte()
entrée = append (entrée, txt)
casser

fmt.Println (entrée)

Le code précédent lit l'entrée de l'utilisateur et l'a ajoute à la tranche d'entrée. Vous pouvez étendre le code précédent pour lire en continu l'entrée et terminer une fois qu'aucune valeur n'est fournie.

Conclusion

Comme le montre ce guide, Go Programming nous fournit plusieurs façons de lire les entrées du stdin. Vous pouvez choisir n'importe quelle méthode qui convient à vos besoins. Nous espérons que vous avez trouvé cet article utile. Découvrez d'autres articles sur les conseils pour plus de conseils et de tutoriels.