Package de scanner Golang

Package de scanner Golang

Dans cette leçon sur le package de scanner à Golang, nous étudierons divers exemples sur la façon d'utiliser les scanners de plusieurs manières dans le langage de programmation Go. Nous allons commencer maintenant.

Commençant par aller

Juste pour s'assurer que nous avons la configuration de l'environnement de manière cohérente, voici la structure du répertoire que j'ai fait pour mon programme Hello World:

Voici le programme que nous avons créé:

package principal
Importer "FMT"
func main ()
fmt.Printf ("bonjour, monde.\ n ")

Nous pouvons exécuter le programme ci-dessus avec la commande suivante:

va courir bonjour.aller

Une fois que nous exécuterons cette commande, voici la sortie que vous verrez:

Maintenant ça a l'air bien. Passons à notre programme principal.

Scanner et package Bufio à Golang

Dans cet article, nous allons passer par les forfaits Bufio et Scanner.

Nous commencerons par un exemple très simple pour diviser les chaînes en plusieurs mots. Passons à l'exemple suivant:

package principal
importer (
"Bufio"
"FMT"
"Strings"
)
func main ()
inputstr: = "Golang Shubham Linux"
scanner: = bufio.Newscanner (cordes.NewReader (Inputstr))
scanner.Split (Bufio.Scanwords)
pour scanner.Analyse()
fmt.Println (scanner.Texte())

La sortie de ce programme sera:

golang
shubham
linux

Ici, le scanner a utilisé la sortie d'entrée tamponnée en lisant l'entrée fournie comme flux.

Lire un fichier

Maintenant, essayons de lire un fichier en Go, en utilisant Bufio pour lire une ligne de fichier par ligne. Pour ce faire, nous créons d'abord un exemple de fichier dans le même répertoire que notre programme Go. Voici notre fichier:

Ensuite, nous écrivons notre programme pour lire ce fichier ligne par ligne:

package principal
importer (
"Bufio"
"FMT"
"enregistrer"
"OS"
)
func main ()
FileToread, erreur: = OS.Ouvrir("./Bonjour.SMS")
Si une erreur != nil
enregistrer.Erreur fatale)

Déférer Filetoread.Fermer()
scanner: = bufio.NewsCanner (FileToread)
pour scanner.Analyse()
fmt.Println (scanner.Texte())

Si erreur: = scanner.Se tromper(); erreur != nil
enregistrer.Erreur fatale)

Une fois que nous aurons exécuté ce programme, voici la sortie que nous obtiendrons

Prendre la contribution des utilisateurs avec Bufio

Il s'agit de l'opération la plus utile à effectuer lorsqu'un utilisateur commence par la langue Golang.

Nous pouvons prendre une entrée utilisateur comme:

package principal
importer (
"Bufio"
"FMT"
"OS"
)
func main ()
lecteur: = bufio.NewReader (OS.Stdin)
fmt.Imprimer ("Entrer le texte:")
Texte, _: = lecteur.ReadString ('\ n')
fmt.Println (texte)

Exécutons ce programme maintenant:

Juste pour noter, il existe une autre façon de prendre des commentaires si vous n'êtes pas d'accord sur un espace blanc:

package principal
Importer "FMT"
chaîne d'entrée var
func main ()
fmt.Print ("Entrez votre nom =")
fmt.Scanf ("% s" et entrée)
fmt.Println ("hello" + entrée)

Exécutons ce programme maintenant:

Conclusion

Pour étudier, le scanner et le package Bufio en Go sont très utiles et il n'est jamais possible d'en obtenir suffisamment. Lisez plus d'exemples pour le package et essayez autant que possible par vous-même.