Golang leído desde Stdin

Golang leído desde Stdin
En la mayoría de los lenguajes de programación, tiene la capacidad de leer la entrada de la consola y almacenarla en una variable. Go Programming no se deja atrás en ese sentido. En este artículo, aprenderemos cómo puede leer la entrada de la consola en la programación de GO.

Importaciones requeridas

Para leer la entrada de la consola, necesitamos importar algunos paquetes. El primero es el paquete Bufio, el paquete FMT y el paquete del sistema operativo.

El paquete Bufio le permite leer personajes de Stdin a la vez. El paquete FMT se utiliza para manejar las operaciones de E/S, y el sistema operativo proporciona funcionalidades del sistema de bajo nivel.

El siguiente fragmento importa todos los paquetes requeridos:

importar (
"Bufio"
"FMT"
"OS"
)

Golang Leer personaje

Vamos a ver cómo puedes leer un solo personaje unicode de The Stdin en el idioma GO. Considere el siguiente código proporcionado:

paquete principal
importar (
"Bufio"
"FMT"
"registro"
"OS"
)
func Main ()
fmt.Println ("Escriba un personaje>")
lector: = bufio.NewReader (OS.Stdin)
char, _, err: = lector.ReadRune ()
Si err != nulo
registro.Fatal (err)

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

En el ejemplo anterior, creamos un nuevo lector del paquete Bufio y pasamos el sistema operativo.Stdin como parámetro.

Luego leemos el personaje y el error del lector. Observe que usamos el método ReadRune () para devolver un carácter de Unicode.

El código anterior debe devolver una salida como se muestra:

Escriba un personaje>
A
Unicode char: u+0041

La salida anterior muestra el punto de código unicode para el personaje "A."

Golang leyó múltiples líneas

Si desea leer varias líneas desde la consola, puede usar el método ReadString () en lugar de ReadRune, como se muestra arriba.

A continuación se proporciona un ejemplo de código:

paquete principal
importar (
"Bufio"
"FMT"
"registro"
"OS"
)
func Main ()
fmt.Println ("Ingrese una cadena")
lector: = bufio.NewReader (OS.Stdin)
str, err: = lector.Readstring ('\ n')
Si err != nulo
registro.Fatal (err)

fmt.Printf ("%s", str)

En este ejemplo, el lector leerá continuamente la entrada del usuario hasta que encuentre el delimitador especificado. En nuestro ejemplo, si el lector se encuentra con un personaje de nueva línea, deja de leer.

Si ejecutamos el código, debemos obtener una salida como:

Ingrese una cadena

Hola mundo de Stdin

Escáner golang

Otro método que podemos usar para aceptar la entrada de stdin es el método del escáner. El método NewsCanner () es muy útil al leer un archivo. Sin embargo, podemos usarlo para leer desde Stdin.

A continuación se muestra un ejemplo de código:

paquete principal
importar (
"Bufio"
"FMT"
"OS"
)
func Main ()
escáner: = bufio.Newscanner ((OS.Stdin))
Entrada: = make ([] cadena, 0)
para
fmt.Println ("Escriba aquí:")
escáner.Escanear()
txt: = escáner.Texto()
entrada = append (entrada, txt)
romper

fmt.Println (entrada)

El código anterior lee la entrada del usuario y la agrega a la porción de entrada. Puede expandir el código anterior para leer continuamente la entrada y terminar una vez que no se proporciona ningún valor.

Conclusión

Como se ve en esta guía, Go Programming nos proporciona varias formas de leer la entrada de Stdin. Puede elegir cualquier método que se adapte a sus necesidades. Esperamos que hayas encontrado este artículo útil. Echa un vistazo a otros artículos de Sugerencia de Linux para obtener más consejos y tutoriales.