您现在的位置是:首页 > 编程 > 

Go程序例子(66):行过滤器

2025-07-21 06:50:05
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组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1165659.html

相关标签:无
上传时间: 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分钟前 发表
该方法会将扫描器推进到下一个标记;在默认的扫描器中