プログラミング言語Go完全入門 chapter5 catコマンドをとりあえず書いた
GWの期間を利用して 「プログラミング言語Go完全入門」の期間限定公開のお知らせ - Mercari Engineering Blog の学習をしています。
チャプター5 【TRY】catコマンドを作ろう
で作成した駄コード。 こんな感じでよいのか? 何かもっとちゃんとしないといけない部分がある気がするけど。。
というか後でこれ、initとか使おう
package main import ( "bufio" "flag" "fmt" "os" // "path/filepath" ) func main() { var n bool flag.BoolVar(&n, "n", false, "number option") var i = 1 flag.Parse() args := flag.Args() for j := 0; j < len(args); j++ { fp, _ := os.Open(args[j]) scanner := bufio.NewScanner(fp) for ; scanner.Scan(); i++ { if n { fmt.Printf("%d", i) } fmt.Fprintln(os.Stdout, scanner.Text()) } if err := scanner.Err(); err != nil { fmt.Fprintln(os.Stderr, "読み込みに失敗しました:", err) } } }