行過濾器(line filter) 是一種常見的程式型別, 它讀取 stdin 上的輸入,對其進行處理,然後將處理結果列印到 stdout。 grep 和 sed 就是常見的行過濾器。
// go by example 中文版: 行過濾器
// //行過濾器(line filter) 是一種常見的程式型別, 它讀取 stdin 上的輸入,對其進行處理,然後將處理結果列印到 stdout。
//grep 和 sed 就是常見的行過濾器。
//這裡是乙個使用 go 編寫的行過濾器示例,它將所有的輸入文字轉化為大寫的版本。
//你可以使用這個模式來寫乙個你自己的 go 行過濾器。
package main
import
("bufio"
"fmt"
"os"
"strings"
)func
main()
// 檢查 scan 的錯誤。檔案結束符(eof)是可以接受的,它不會被scan當做乙個錯誤。
if err := scanner.
err(
); err !=
nil}
試一下我們的行過濾器,首先建立乙個有小寫行的檔案。
$ echo
'hello'
> /tmp/lines
$ echo
'filter'
>> /tmp/lines
然後使用行過濾器來得到大寫的行。
$ cat /tmp/lines | go run line-filters.go
hello
filter
在centos7下的測試結果如下圖所示:
在windows下的執行結果截圖如下:
下乙個例子: 檔案路徑
@mmcgrana 編寫 | everyx 翻譯 | 專案位址 | license
Go by Example 中文版 時間
go by example 中文版 時間 go 為時間 time 和時間段 duration 提供了大量的支援 這裡有一些例子。go示例 如下 package main go by example 中文版 時間 go 為時間 time 和時間段 duration 提供了大量的支援 這兒有是一些例子。...
Go by Example 中文版 時間戳
一般程式會有獲取 unix 時間 的秒數,毫秒數,或者微秒數的需求。來看看如何用 go 來實現。go語言的示例 如下 package main go by example 中文版 時間戳 一般程式會有獲取 unix 時間 的秒數,毫秒數,或者微秒數的需求。來看看如何用 go 來實現。import f...
Go by Example 中文版 讀檔案
go by example 中文版 讀檔案 讀寫檔案在很多程式中都是必須的基本任務。首先我們來看一些讀檔案的例子。package main import bufio fmt io io ioutil os 讀取檔案需要經常進行錯誤檢查,這個幫助方法可以精簡下面的錯誤檢查過程。func check e...