Cómo leer la entrada del teclado (entrada estándar) en la consola en Go?
Acabo de empezar a aprender Go y tengo un problema simple pero importante. Necesito escribir un programa que solicite al usuario su nombre y edad, y luego muestre un saludo. Pero no puedo entender cómo leer correctamente una cadena o un número desde la consola.
En otros lenguajes (por ejemplo, Python) simplemente usaba `input()`, y en C++ — `cin`. En Go veo muchas formas: `bufio`, `fmt.Scan`, `os.Stdin`, y esto me confunde. Probé la opción más obvia:
```go
package main
import "fmt"
func main() {
var name string
fmt.Print("Ingrese su nombre: ")
fmt.Scan(&name)
fmt.Println("Hola,", name)
}
```
Pero cuando ingreso "Iván Ivanov", el programa solo imprime "Hola, Iván", y la segunda palabra se pierde. Tampoco entiendo cómo leer un número y manejar errores si el usuario ingresa letras en lugar de dígitos. Por favor, indíqueme cómo leer datos de la entrada estándar en Go de manera correcta y confiable. Necesito ejemplos para cadenas (con espacios) y para números.