명령 줄에서 입력을 구문 분석 할 수있는 작은 프로그램을 만들었습니다. 그것은 std.in
을 사용하여 잘 작동했습니다. 그러나 추가 학습을 위해 공식 문서를 조회 할 때 나에게 너무 많은 자료가 있다는 것을 알았습니다. Golang이 stdin/stdout/stderr를 구현하는 방법
var (
Stdin = NewFile(uintptr(syscall.Stdin), "/dev/stdin")
)
나는 개별적으로
func NewFile
,
type uintpty
,
Package syscall
의 문서를 읽을 수 있지만 전체를 이해할 수 없었다. 또한
/dev/stdin
의 의미도 알지 못했습니다.
나는 go
을 제외하고는 다른 정적 프로그래밍 언어를 배웠다. stdin
의 마법을 어떻게 실현할 수 있습니까? POSIX 표준은 표준 입력은 첫 번째 파일 기술자에 부착되어 있기 때문에 표준 입력이기 때문에 0
,
var (
Stdin = 0
Stdout = 1
Stderr = 2
)
이것은 단순히 다음 syscall
패키지에서
아래에서 이동은 일반적으로 UNIX입니다. 유닉스 매직을위한 좋은 책은 https://www.amazon.com/Advanced-Programming-UNIX-Environment-3rd/dp/0321637739/ref=dp_ob_title_bk –