headコマンドを実装する課題が出されたので、本当は上げる気はなかったのですが、せっかく書いたのだから公開しとこうと思います。
READMEないですが、ヘルプはこんな感じでheadコマンドとほとんど同じです。
$ gohead -h
Usage of head:
-c uint
print the first K bytes of each file
-n uint
print the first K lines of each file (default 10)
-q never print headers giving file names
-v always print headers giving file names
工夫した点
- manコマンドを読んでオプションをできるだけ真似するようにした
- 挙動もできるだけ真似するようにした。例えば、
gohead -c 5 -n 10 xxxx.txt
の場合は-n
オプションを優先するとか - テストをできるだけ書くようにした。カバー率を増やすように心がけた。flagパッケージを使っているのですが、テストの書き方はこちらの記事がとても参考になりました。
Go言語でテストしやすいコマンドラインツールをつくる | SOTA
Goでコマンドラインツール書くのがとても楽しいですね。