内容简介:每个进程都拥有自己的标准输入、输出和错误文件描述符。
每个进程都拥有自己的标准输入、输出和错误文件描述符。 stdin
作为进程的输入。本文将介绍如何从 stdin
读取数据。
读取标准输入
Golang 版本
1.12.1
前言
每个进程都拥有自己的标准输入、输出和错误文件描述符。 stdin
作为进程的输入。本文将介绍如何从 stdin
读取数据。
实现
1.创建文件 fmt.go
,代码如下:
package main
import "fmt"
func main() {
var name string
fmt.Println("你叫什么名字?")
fmt.Scanf("%s\n", &name)
var age int
fmt.Println("你几岁?")
fmt.Scanf("%d\n", &age)
fmt.Printf("你好! %s, 你的年龄是 %d\n", name, age)
}
$ go run fmt.go 你叫什么名字? GanymedeNil 你几岁? 25 你好! GanymedeNil, 你的年龄是 25
2.创建文件 scanner.go
,代码如下:
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
// scan能够按行扫描输入
sc := bufio.NewScanner(os.Stdin)
for sc.Scan() {
txt := sc.Text()
fmt.Printf("Echo: %s\n", txt)
}
}
$ go run scanner.go Hello Echo: Hello
3.创建文件 reader.go
,代码如下:
package main
import (
"fmt"
"os"
)
func main() {
for {
data := make([]byte, 8)
n, err := os.Stdin.Read(data)
if err == nil && n > 0 {
process(data)
} else {
break
}
}
}
func process(data []byte) {
fmt.Printf("Received: %X %s\n", data, string(data))
}
$ echo 'Go is awesome!' | go run reader.go Received: 476F206973206177 Go is aw Received: 65736F6D65210A00 esome!
原理
Go进程的 stdin
可以通过 os
包的 Stdin
获取。 实际上,它是一个实现 Reader
接口的 File
类型。 从 Reader
里读取是非常容易的。 前面的代码展示了如何从 Stdin
读取的三种非常常见的方法。
第一个例子演示了 fmt
包的使用,它提供了 Scan
、 Scanf
和 Scanln
函数。 Scanf
函数将输入写入给定变量。 Scanf
的优点是你可以确定扫描值的格式。 Scan
函数只是将输入写入变量(没有预定义格式), Scanln
顾名思义,读取以换行符结束的输入。
Scanner
是第二个例子,它提供了扫描较大输入的便捷方式。 Scanner
包含了 Split
功能,通过该功能可以自定义分割功能。 例如,要扫描 stdin
中的单词,可以使用 bufio.ScanWords
作为预定义的 SplitFunc
。
通过 Reader
API读取是最后提出的方法。 这个可以让你更好地控制输入的读取方式。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 从Haskell中的系统命令读取输入
- SpringBoot 增强库 yue-library 2.2.0 发布,提供 Servlet 输入流反复读取
- Android输入系统(一)输入事件传递流程和InputManagerService的诞生
- Android输入系统(四)输入事件是如何分发到目标窗口的?
- Android输入系统(二)IMS的启动过程和输入事件的处理
- GO随笔-表单输入
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Perl语言编程
克里斯蒂安森 (Tom Christiansen) (作者)、Brian D Foy (作者)、Larry Wall (作者)、Jon Orwant (作者) / 苏金国 (译者)、吴爽 (译者) / 中国电力出版社 / 2014-9-1 / 148
从1991年第一版问世以来,《Perl语言编程》很快成为无可争议的Perl宝典,如今仍是这种高实用性语言的权威指南。Perl最初只是作为一个功能强大的文本处理工具,不过很快发展成为一种通用的编程语言,可以帮助成千上万的程序员、系统管理员,以及像你一样的技术爱好者轻松完成工作。 人们早已经翘首以待这本“大骆驼书”的更新,如今终于得偿所愿。在这一版中,三位颇有声望的Perl作者讲述了这种语言当前......一起来看看 《Perl语言编程》 这本书的介绍吧!