Go程序例子(66):行过滤器
Go程序例子(66):行过滤器
行过滤器是一种常见的程序类型,它从标准输入(stdin)读取数据,进行处理,然后将一些派生结果打印到标准输出(stdout)。grep 和 sed 是常见的行过滤器。以下是一个用 Go 编写的行过滤器示例,它将所有输入文本转换为大写形式。你可以使用这个模式来编写自己的 Go 行过滤器。代码语言:go复制package main
import (
"
Go程序例子(66):行过滤器
行过滤器是一种常见的程序类型,它从标准输入(stdin)读取数据,进行处理,然后将一些派生结果打印到标准输出(stdout)。grep
和 sed
是常见的行过滤器。
以下是一个用 Go 编写的行过滤器示例,它将所有输入文本转换为大写形式。你可以使用这个模式来编写自己的 Go 行过滤器。
代码语言:go复制package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
// 将未缓冲的 os.Stdin 包装在一个带缓冲的扫描器中,为我们提供了一个方便的 Scan 方法,该方法会将扫描器推进到下一个标记;在默认的扫描器中,下一个标记就是下一行。
scanner := (os.Stdin)
// Text 方法会返回当前的标记,在这里也就是输入中的下一行内容。
for scanner.Scan() {
ucl := strings.ToUpper(scanner.Text())
// 将大写的行内容输出。
fmt.Println(ucl)
}
// 在 Scan 过程中检查错误。文件末尾是预期的情况,不会被 Scan 当作错误报告。
if err := scanner.Err(); err != nil {
fmt.Fprintln(os.Stderr, "error:", err)
os.Exit(1)
}
}
运行结果:
代码语言:javascript代码运行次数:0运行复制➜ go run line-filters/line-filters.go
aaaa
AAAA
aaaaaaa
AAAAAAA
aaaaaaaaaaaaaaa
AAAAAAAAAAAAAAA
ww
WW
acc
ACC
echo
ECHO
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-21 02:30:09
推荐阅读
留言与评论(共有 9 条评论) |
本站网友 u盘启动工具 | 27分钟前 发表 |
代码语言:go复制package main import ( "bufio" "fmt" "os" "strings" ) func main() { // 将未缓冲的 os.Stdin 包装在一个带缓冲的扫描器中 | |
本站网友 油墨印刷 | 3分钟前 发表 |
它将所有输入文本转换为大写形式 | |
本站网友 不敢当 | 2分钟前 发表 |
for scanner.Scan() { ucl | |
本站网友 脱裤子打屁股 | 11分钟前 发表 |
在这里也就是输入中的下一行内容 | |
本站网友 汇源logo | 5分钟前 发表 |
你可以使用这个模式来编写自己的 Go 行过滤器 | |
本站网友 辽宁省公安厅交通安全管理局 | 9分钟前 发表 |
它将所有输入文本转换为大写形式 | |
本站网友 攀枝花租车 | 14分钟前 发表 |
scanner | |
本站网友 深圳肝病治疗中心 | 17分钟前 发表 |
该方法会将扫描器推进到下一个标记;在默认的扫描器中 |