关于如何使用stdin,现举两个例子演示其使用。
example1
直接从os.Stdin中读取
package@H_301_8@ main
import@H_301_8@ (
"fmt"@H_301_8@
"os"@H_301_8@
)
func@H_301_8@ main() {
var@H_301_8@ buffer [512@H_301_8@]byte@H_301_8@
n,err := os.Stdin.Read(buffer[:])
if@H_301_8@ err != nil@H_301_8@ {
fmt.Println("read error:"@H_301_8@,err)
return@H_301_8@
}
fmt.Println("count:"@H_301_8@,n,",msg:"@H_301_8@,string@H_301_8@(buffer[:]))
}
output:
$ ./test
Hello
count: 6,msg: Hello
example2
通过bufio读取
package main
import (
"bufio"@H_301_8@
"fmt"@H_301_8@
"os"@H_301_8@
)
func main() {
reader := bufio.NewReader@H_301_8@(os.Stdin@H_301_8@)
result,err := reader.ReadString@H_301_8@('\n'@H_301_8@)
if err != nil {
fmt.Println@H_301_8@("read error:"@H_301_8@,err)
}
fmt.Println@H_301_8@("result:"@H_301_8@,result)
}
output:
$ ./test
nihao
result: nihao
更多信息可参考os package说明:
http://docs.studygolang.com/pkg/os/