Paquete de escáner Golang

Paquete de escáner Golang

En esta lección sobre el paquete de escáner en Golang, estudiaremos varios ejemplos sobre cómo usar escáneres de múltiples maneras en el lenguaje de programación GO. Comenzaremos ahora.

Empezando con Go

Solo para asegurarnos de que tengamos la configuración del entorno de manera consistente, aquí está la estructura del directorio que hice para mi programa Hello World:

Aquí está el programa que creamos:

paquete principal
importar "fmt"
func Main ()
fmt.Printf ("Hola, mundo.\norte")

Podemos ejecutar el programa anterior con el siguiente comando:

Ve a correr hola.ir

Una vez que ejecutemos este comando, aquí está la salida que verá:

Ahora que se ve bien. Pasemos a nuestra agenda principal.

Escáner y paquete de bufio en Golang

En esta publicación, pasaremos por los paquetes de bufio y escáner.

Comenzaremos con un ejemplo muy simple para dividir las cadenas en múltiples palabras. Vamos al siguiente ejemplo:

paquete principal
importar (
"Bufio"
"FMT"
"instrumentos de cuerda"
)
func Main ()
inputstr: = "Golang Shubham Linux"
escáner: = bufio.NEWScanner (cadenas.NewReader (inputStr))
escáner.División (bufio.Palabras de escaneo)
para escáner.Scan ()
fmt.Println (escáner.Texto())

La salida de este programa será:

golang
shubham
Linux

Aquí, el escáner utilizó la salida de entrada tamponada mediante lectura proporcionada por entrada como flujo.

Leyendo un archivo

Ahora, intentemos leer un archivo en Go, usando Bufio para leer un archivo Line by Line. Para hacer esto, primero creamos un archivo de muestra en el mismo directorio que nuestro programa GO. Aquí está nuestro archivo:

A continuación, escribimos nuestro programa para leer este archivo Line by Line:

paquete principal
importar (
"Bufio"
"FMT"
"registro"
"OS"
)
func Main ()
filetoread, error: = OS.Abierto("./Hola.TXT")
Si Error != nulo
registro.Error fatal)

diferir filetoread.Cerca()
escáner: = bufio.Newscanner (Filetoread)
para escáner.Scan ()
fmt.Println (escáner.Texto())

Si Error: = escáner.Errar(); error != nulo
registro.Error fatal)

Una vez que ejecutemos este programa, aquí está el resultado que obtendremos

Tomar la entrada del usuario con Bufio

Esta es la operación más útil que realmente se realizará cuando un usuario comienza con el idioma Golang.

Podemos tomar una entrada del usuario como:

paquete principal
importar (
"Bufio"
"FMT"
"OS"
)
func Main ()
lector: = bufio.NewReader (OS.Stdin)
fmt.Imprimir ("Ingrese el texto:")
texto, _: = lector.Readstring ('\ n')
fmt.Println (texto)

Ejecutemos este programa ahora:

Solo para tener en cuenta que hay otra forma de tomar información si está bien no aceptar un espacio en blanco:

paquete principal
importar "fmt"
cadena de entrada var
func Main ()
fmt.Imprima ("Ingrese su nombre =")
fmt.Scanf ("%s" e entrada)
fmt.Println ("hola"+entrada)

Ejecutemos este programa ahora:

Conclusión

Para estudiar, el escáner y el paquete de bufio en GO es muy útil y nunca es posible obtener suficiente. Lea más ejemplos para el paquete e intente lo más posible por su cuenta.