No Go, o fluxo de entrada padrão (os.Stdin) pode ser verificado quanto a dados usando a técnica de verificando o tamanho do arquivo. Veja como funciona:
O os.Stdin pode ser tratado como qualquer arquivo normal, permitindo-nos examinar suas propriedades. Para fazer isso, recuperamos um objeto FileInfo usando os.Stdin.Stat(). Este objeto fornece várias informações sobre o arquivo, incluindo seu tamanho.
Ao verificar o tamanho do arquivo, podemos determinar se o fluxo Stdin contém dados. Se seu tamanho for maior que zero, indica a presença de dados. Por outro lado, um tamanho zero indica que Stdin está vazio.
Abaixo está um exemplo de código que demonstra este método:
package main
import (
"fmt"
"os"
)
func main() {
file := os.Stdin
fi, err := file.Stat()
if err != nil {
fmt.Println("file.Stat()", err)
}
size := fi.Size()
if size > 0 {
fmt.Printf("%v bytes available in Stdin\n", size)
} else {
fmt.Println("Stdin is empty")
}
}
Esta técnica fornece uma maneira eficaz de determinar se os.Stdin possui dados sem bloquear a execução do programa enquanto aguarda a entrada. Pode ser particularmente útil nos casos em que você precisa lidar dinamicamente com dados recebidos de fontes ou processos externos.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3