Go를 사용하여 Stdin에 데이터가 있는지 확인하는 방법
Go에서 입력 스트림으로 작업할 때 다음이 필요한 상황에 직면할 수 있습니다. os.Stdin에 사용 가능한 데이터가 있는지 확인합니다. 이는 입력 읽기를 계속할지 결정하거나 사용자에게 프롬프트를 표시할지 여부를 결정하는 등 다양한 시나리오에서 유용할 수 있습니다.
해결책:
os.Stdin은 Go의 다른 파일 설명자와 유사하게 취급됩니다. 데이터가 있는지 확인하려면 크기를 검사하면 됩니다.
<code class="go">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") } }</code>
사용법:
이 코드를 실행 파일로 컴파일하여 파이프처럼 사용할 수 있습니다. :
$ ./pipe Stdin is empty $ echo test | ./pipe 5 bytes available in Stdin
이 예에서는 stdin에 데이터가 파이프되지 않은 경우 프로그램이 빈 stdin을 보고하고 데이터가 파이프된 경우 사용 가능한 바이트를 올바르게 표시한다는 것을 보여줍니다.
위 내용은 Stdin에 Go에 데이터가 있는지 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!