Golang leu de stdin

Golang leu de stdin
Na maioria das linguagens de programação, você tem a capacidade de ler a entrada do console e armazená -lo em uma variável. A programação Go não é deixada para trás nesse sentido. Neste artigo, aprenderemos como você pode ler a entrada do console na programação Go.

Importações necessárias

Para ler a contribuição do console, precisamos importar alguns pacotes. O primeiro é o pacote Bufio, o pacote FMT e o pacote do sistema operacional.

O pacote Bufio permite que você leia os personagens do stdin de uma vez. O pacote FMT é usado para lidar com operações de E/S, e o sistema operacional fornece funcionalidades do sistema de baixo nível.

O snippet seguinte importa todos os pacotes necessários:

importação (
"Bufio"
"FMT"
"OS"
)

Golang leia o personagem

Vamos ver como você pode ler um único caráter unicode do stdin no idioma Go. Considere o seguinte código fornecido:

Pacote principal
importação (
"Bufio"
"FMT"
"registro"
"OS"
)
func main ()
fmt.Println ("Tipo A caractere>")
leitor: = bufio.NewReader (OS.Stdin)
char, _, err: = leitor.ReadRune ()
se err != nil
registro.Fatal (ERR)

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

No exemplo anterior, criamos um novo leitor a partir do pacote Bufio e passamos pelo sistema operacional.Stdin como o parâmetro.

Em seguida, lemos o personagem e o erro do leitor. Observe que usamos o método readrune () para retornar um caractere unicode.

O código anterior deve retornar uma saída como mostrado:

Digite um caractere>
A
Unicode char: u+0041

A saída acima mostra o ponto de código Unicode para o personagem “a.”

Golang leu multi-line

Se você quiser ler várias linhas do console, pode usar o método readString () em vez de readrune, como mostrado acima.

Um exemplo de código é fornecido abaixo:

Pacote principal
importação (
"Bufio"
"FMT"
"registro"
"OS"
)
func main ()
fmt.Println ("Enter uma string")
leitor: = bufio.NewReader (OS.Stdin)
str, err: = leitor.ReadString ('\ n')
se err != nil
registro.Fatal (ERR)

fmt.Printf ("%s", str)

Neste exemplo, o leitor lerá continuamente a entrada do usuário até encontrar o delimitador especificado. Em nosso exemplo, se o leitor encontrar um personagem de nova linha, ele para de ler.

Se executarmos o código, devemos obter uma saída como:

Digite uma string
..
Olá mundo de stdin

Golang Scanner

Outro método que podemos usar para aceitar a entrada de stdin é o método do scanner. O método NewsCanner () é muito útil ao ler um arquivo. No entanto, podemos usá -lo para ler de stdin.

Um exemplo de código é mostrado abaixo:

Pacote principal
importação (
"Bufio"
"FMT"
"OS"
)
func main ()
scanner: = bufio.NewsCanner ((OS.Stdin)))
entrada: = make ([] string, 0)
para
fmt.Println ("Digite aqui:")
Scanner.Varredura()
txt: = scanner.Texto()
input = anexar (entrada, txt)
quebrar

fmt.Println (entrada)

O código anterior lê a entrada do usuário e o anexa à fatia de entrada. Você pode expandir o código anterior para ler continuamente a entrada e encerrar assim que nenhum valor for fornecido.

Conclusão

Como visto neste guia, a programação Go nos fornece várias maneiras de ler a contribuição do stdin. Você pode escolher qualquer método que atenda às suas necessidades. Esperamos que você tenha achado este artigo útil. Confira outros artigos de dica do Linux para obter mais dicas e tutoriais.