雑兵だけどGolangでコマンドラインツールを作ってみた

Preview:

Citation preview

本日の LT は・・・

痛風経験者が語る「本当に怖い痛風」しょっさん

ではなく

雑兵だけど Golang でコマンドラインツールを作ってみたしょっさん

自己紹介• 名前: しょっさん( @syossan27 )• 肩書:痛風エヴァンジェリスト• 所属:株式会社 StartupTechnology (雑兵力:3

T )• 最近やってるの: Ruby on Rails 、 Go 言語• 最近の出来事: Qiita 記事がバズった

皆さんGolang やってますか?

Golang 楽しい₍₍⁽⁽ (ી�( ˘ω˘ )ʃ)₎₎⁾⁾

楽しいポイント• 静的型付け言語だから楽しい!(仕事では専ら動的型付け言語・・・)• 記法が独特だから楽しい!( PHP や Ruby には無い感覚)• 並行処理が簡単で楽しい!(「 Go 言語の並行性を映像化する」って記事を読むとより楽しめる)

Gopher くんがキモかわいい!

そんな Golang を使って・・・

コマンドラインツールを作ってみました!

Torisetsu

README.md を簡単に作成するコマンドラインツール

Golang でのコマンドラインツールの作り方

codegangsta/cli を使う!

コマンドラインツールを簡単に作成できるGolang ライブラリ

サンプルpackage main

import ( "os" "github.com/codegangsta/cli")

func main() { app := cli.NewApp() app.Name = "greet" app.Usage = "fight the loneliness!" app.Action = func(c *cli.Context) { println("Hello friend!") }

app.Run(os.Args)}

実行ʕ ◔ϖ◔ʔ % go run main.goHello friend!ʕ ◔ϖ◔ʔ % go run main.go --helpNAME: greet - fight the loneliness!

USAGE: main [global options] command [command options] [arguments...]

VERSION: 0.0.0

COMMANDS: help, h Shows a list of commands or help for one command

GLOBAL OPTIONS: --help, -h show help --version, -v print the version

他にも・・・

• オプションも簡単に実装できる!• サブコマンド( git grep のような感じ)も簡単に実装できる!• YAML などの設定ファイル読み込みも簡単に実装できる!

_人人人人人人人人人人人人人人人人_> 雑兵でも簡単に実装ができる! < ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y

^Y  ̄

簡単かつ実用的なものも作れるのでGolang 初心者の方はまずコマンドラインツールを作ってみるもの良いかも!

₍₍⁽⁽ (ી�( ˘ω˘ )ʃ)₎₎⁾⁾