Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

OSSで楽に作るGo言語クライアントツール

750 vues

Publié le

Go言語の入門に最適です。

Publié dans : Ingénierie
  • Soyez le premier à commenter

OSSで楽に作るGo言語クライアントツール

  1. 1. github.com/codegangsta/cli OSSで楽に作るGo言語クライアントツール makoto tano - @makotano 著作権表記 / Go言語のキャラクターGopherの原著作者はRenée Frenchさんです。
  2. 2. Makoto Tano Golang Engineer @ @makotano 「はじめの一歩」が好きでボクシングやってます
  3. 3. Go言語楽しいです! • Syntaxがシンプル、だから気軽に書ける • コンパイルするから動作速い • 型があるから安心して書ける 簡単に試して、
 「ちょっとだけなら書けますよ! 」
 に最適な言語。(と思ってマス)
  4. 4. Hello World以上に勉強するには! アプリをがっちり書く必要なんてない!
 コマンドラインツールを作りましょう!
  5. 5. コマンドラインツールで気にすること 1. {command} = コマンド本体 • • • • • • 2. {command} -R = コマンドオプション • • • • • • • • • 3. {command} args.. = パラメータ • • • • • 4. {command} help = コマンドヘルプ • • • • • • • ・・・いっぱいやることアルネ。
  6. 6. OSSで解決できます! github.com/codegangsta/cli  先ほどの4要素を標準パッケージで書くのは大変。
 しかし、このOSSを使えば整理して書けます。 しかも、コマンドラインツールを作る時のテンプレートも作りました! https://gist.github.com/MakoTano/624fe3fdea914b262e2c
  7. 7. テンプレートの解説
 1. コマンド本体 app.Commands = []cli.Command{ { Name: "hello", Aliases: []string{"h"}, Usage: "show Hello World", Action: func(c *cli.Context) { }, }, } コマンド名 ショートカット コマンドヘルプ ここにコマンド内容を書く
 (勉強のしどころです!)
  8. 8. テンプレートの解説
 2. コマンドオプション app.Flags = []cli.Flag{ cli.BoolFlag{ Name: "dryrun, d", }, } オプションはFlagと呼びます ロング/ショートネーム “Value”を足すとデフォルト値が指定可能
  9. 9. テンプレートの解説
 3. パラメータ var paramFirst = "" if len(c.Args()) > 0 { paramFirst = c.Args()[0] } c.Args() で配列が[]stringで返る .First(), .Tail() などでも取得可能
  10. 10. テンプレートの解説
 4. コマンドヘルプ mako ~/dev/gopath1.5.2/src/sample $ go run main.go NAME: sample_client - github.com/codegangsta/cli のテンプレートです USAGE: main [global options] command [command options] [arguments...] VERSION: 0.0.1 COMMANDS: hello, h hello world を表示します help, h Shows a list of commands or help for one command GLOBAL OPTIONS: --dryrun, -d --help, -h show help --version, -v print the version なんと既にできちゃってます! イヤッフー!
  11. 11. 用意したgistテンプレートの時点でここまで動きます # Setup mako ~/dev/gopath1.5.2/src/sample $ go get github.com/codegangsta/cli # Execute
 mako ~/dev/gopath1.5.2/src/sample $ vi main.go # テンプレをコピペ mako ~/dev/gopath1.5.2/src/sample $ go run main.go —dryrun hello Tom 開始 this is dry-run
 Hello world! Tom
 終了
  12. 12. おわり • GoのSyntax勉強は「シュッと golang に入門する話」 が個人的には好きです。
 http://sixeight.hatenablog.com/entry/2015/03/16/032222 • 数時間とるだけで、Gopherになれるチャンス! 逃す • • わけにはいかないですね!
 • • • • • • • • (そこまでのことかって話もありますが) • Go言語イベントやってるから遊びにきてね!
 http://eure.connpass.com/

×