Como ler dados da entrada padrão (stdin) em um aplicativo de console em Go?
Olá a todos! Comecei a estudar Go e estou escrevendo um utilitário de console simples. Preciso que o programa peça ao usuário o nome e a idade e, em seguida, exiba uma saudação. Mas não consigo entender como ler corretamente a string que o usuário digita no terminal.
Tentei usar `fmt.Scan()`, mas parece que ele lê apenas até o primeiro espaço. Se eu digitar "Ivan Petrov", ele lê apenas "Ivan". E se eu precisar ler uma string inteira com espaços? Ou um número?
Aqui está meu código atual, que não funciona como deveria:
```go
package main
import "fmt"
func main() {
var name string
var age int
fmt.Print("Digite o nome: ")
fmt.Scan(&name) // Problema: lê apenas até o espaço
fmt.Print("Digite a idade: ")
fmt.Scan(&age)
fmt.Printf("Olá, %s! Você tem %d anos.\n", name, age)
}
```
Se eu digitar "Anna 25", o programa termina imediatamente, sem esperar a segunda entrada, e exibe algo estranho. Como ler strings corretamente, o que
No answers yet.
Faça login para deixar uma resposta