Buscar..


Leer entrada desde consola

Utilizando scanf

Scanf escanea el texto leído de la entrada estándar, almacenando sucesivos valores separados por espacios en argumentos sucesivos según lo determine el formato. Devuelve el número de elementos escaneados con éxito. Si eso es menor que el número de argumentos, err informará por qué. Las líneas nuevas en la entrada deben coincidir con las líneas nuevas en el formato. La única excepción: el verbo% c siempre escanea la siguiente runa en la entrada, incluso si es un espacio (o pestaña, etc.) o nueva línea.

 # Read integer 
 var i int
 fmt.Scanf("%d", &i)

 # Read string 
 var str string
 fmt.Scanf("%s", &str)

Utilizando scan

Escanear escanea el texto leído de la entrada estándar, almacenando sucesivos valores separados por espacios en argumentos sucesivos. Las líneas nuevas cuentan como espacio. Devuelve el número de elementos escaneados con éxito. Si eso es menor que el número de argumentos, err informará por qué.

 # Read integer 
 var i int
 fmt.Scan(&i)

 # Read string 
 var str string
 fmt.Scan(&str)

Utilizando scanln

Sscanln es similar a Sscan, pero deja de escanear en una nueva línea y después del elemento final debe haber una nueva línea o EOF.

# Read string
var input string
fmt.Scanln(&input)

Usando bufio

# Read using Reader
reader := bufio.NewReader(os.Stdin)
text, err := reader.ReadString('\n')

# Read using Scanner
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
    fmt.Println(scanner.Text())
}


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow