终端读写
操作终端相关文件句柄常量
os.Stdin:标准输入
os.Stdout:标准输出
os.Stderr:标准错误输出终端读写示例:
package mainimport ( "fmt")var ( firstName, lastName, s string i int f float32 input = "56.12 / 5212 / Go" format = "%f / %d / %s")func main() { fmt.Println("Please enter your full name: ") fmt.Scanln(&firstName, &lastName) // fmt.Scanf("%s %s", &firstName, &lastName) fmt.Printf("Hi %s %s!\n", firstName, lastName) // Hi Chris Naegels fmt.Sscanf(input, format, &f, &i, &s) fmt.Println("From the string we read: ", f, i, s)}
带缓冲区的读写(磁盘io比较慢,所以将数据先存入缓存):
package mainimport ( "bufio" "fmt" "os")var inputReader *bufio.Readervar input stringvar err errorfunc main() { inputReader = bufio.NewReader(os.Stdin) fmt.Println("Please enter some input: ") input, err = inputReader.ReadString('\n') if err == nil { fmt.Printf("The input was: %s\n", input) }}
package mainimport ( "bufio" "os" "fmt")func main() { reader := bufio.NewReader(os.Stdin) //以换行为分割,注意单引号'' str, err := reader.ReadString('\n') if err != nil { fmt.Println(err) return } fmt.Println("输入的是:", str)}
输入输出:
我日啊
输入的是: 我日啊
Process finished with exit code 0
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。