每個(gè)進(jìn)程操作系統(tǒng)都會(huì)分配三個(gè)文件資源,分別是標(biāo)準(zhǔn)輸入(STDIN)、標(biāo)準(zhǔn)輸出(STDOUT)和錯(cuò)誤輸出(STDERR)。通過這些輸入流,我們能夠輕易得從鍵盤獲得數(shù)據(jù),然后在顯示器輸出數(shù)據(jù)。
來自管道(Pipe)的數(shù)據(jù)也是標(biāo)準(zhǔn)輸入的一種,我們寫了以下的實(shí)例來輸出標(biāo)注輸入的數(shù)據(jù)。
package main
import (
"fmt"
"io/ioutil"
"os"
)
func main() {
bytes, err := ioutil.ReadAll(os.Stdin)
if err != nil {
panic(err)
}
fmt.Println(string(bytes))
}
運(yùn)行結(jié)果如下。
root@87096bf68cb2:/go/src# echo string_from_stdin | go run stdin.go
string_from_stdin
通過fmt.Println()把數(shù)據(jù)輸出到屏幕上,這就是標(biāo)準(zhǔn)輸出了,這里不太演示了。
程序的錯(cuò)誤輸出與標(biāo)準(zhǔn)輸出類似,這里暫不演示。
了解完進(jìn)程一些基礎(chǔ)概念,我們馬上要深入學(xué)習(xí)并發(fā)與并行的知識(shí)了。