Существует ли в Go надежный способ проверить, является ли входной поток (os .Stdin) содержит данные?
Обычный подход чтения из блоков потока, когда данные недоступны, что делает его непрактичным для определенного использования. случаев.
Как и другие файлы, os.Stdin можно проверить, чтобы определить его размер, предлагая удобный метод определения доступности данных.
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")
}
}
Используя этот метод, вы можете различать пустые и непустые входные данные стандартного ввода, обеспечивая более гибкую обработку доступности данных.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3