Notas de esta clase:
StreamsStdin, Stdout y Stden
———————-
1) Tipos de streams
Por defecto, un proceso se inicializa con estos tres canales de datos:
- Stdin
- Stdout
- Stderr
Estos canales los conocemos como streams.
Mediante estos canales el usuario puede interactuar con el programa, ya sea enviando o recibiendo información.
2) Canal del estándard input
Mediante este canal, el usuario puede enviar datos al programa. Se envían a través del teclado, obligatoriamente, si el programa se encuentra en ejecución. Cuando el programa recibe y procesa estos datos, da como resultado una salida, la cual, se encuentra en el canal del estándard output o error.
3) Canales de estándar output y error
La diferencia de estos canales es el tipo de mensaje a mostrar. En el canal de output encontramos los mensajes de éxito (los mensajes que se encuentran dentro del flujo normal de ejecución del programa) y en el canal de error, se encuentran los mensajes de errores (no se encuentran en la ejecución del flujo normal del programa).
4) Mediante estos tres canales, el usuario podrá interactuar con la ejecución del programa, enviando o recibiendo información.
Por ejemplo,
$ go run main.go argumento1 argumento2
Los argumentos no son enviados a través del estándard input. El usuario no puede enviar datos por teclado porque el programa no se encuentra en ejecución.
Si el programa nos pide datos por teclado, en ese caso sí, los datos son enviados a través del estándard input. Porque los datos se ingresaron vía teclado y cuando el programa se encontraba en ejecución.
3) Los streams se encuentran numerados:
- Stdin(0)
- Stdout(1)
- Stderr(2)