Tips for writing clear, performant, and idiomatic Go code
Go言語での構造体実装は、埋込や独自コンセプトのインターフェースといったGo言語独自の機能を理解して行う必要があります。 今年からGo言語を始めましたが理解が曖昧なままだと実装に迷うことが何度かありました。今回よい機会なので、Go言語での構造体実装パターンとしてまとめてみることにしました。 構造体実装パターン 実装パターンの洗い出しとして、GoFデザインパターンをGo言語で実装する手法をとりました。 その中で繰り返し現れる実装をGo言語での構造体実装パターンとしてまとめてみました。 コンストラクタ関数 エクスポートによるアクセス許可 インターフェースによるポリモフィズム 構造体によるポリモフィズム 構造体によるサブクラス・レスポンシビリティ 構造体による移譲 関数による移譲 以下、それぞれのパターンを解説していきます。 コンストラクタ関数 Go言語には構造体のコンストラクタがないため、構造
高速にGo言語のCLIツールをつくるcli-initというツールをつくった tcnkms/cli-init・GitHub cli-initを使えば,Go言語コマンドラインツール作成時のお決まりパターンをテンプレートとして自動生成し,コア機能の記述に集中することができる. デモ 以下は簡単な動作例. 上のデモでは,addとlist,deleteというサブコマンドをもつtodoアプリケーションを生成している.生成結果は,tcnksm/sample-cli-initにある. 背景 Go言語で作られたコマンドラインツールを見ていると,codegangsta/cliというパッケージがよく使われている. これは,コマンドラインツールのインターフェースを定義するためのライブラリで,これを使えば,サブコマンドをもつコマンドラインツールを簡単につくることができる(Usageを自動で生成してくれたり,bash
随時更新して行きます。イベントサイト公開後に中止、延期、オンラインまたはオフライン化するケースがありますので、必ずリンク先の情報をご確認ください。 5/3(金) 10:00〜12:00 [オンライン] Women Who Go Tokyo 読書会 - Go言語による分散サービス#115/3(金) 17:00〜19:00 [岡山県岡山市] Goルデンウィークだよ、Goをやろう Day35/4(土) 17:30〜19:30 [岡山県岡山市] Goルデンウィークだよ、Goをやろう Day45/5(日) 18:00〜20:00 [岡山県岡山市] Goルデンウィークだよ、Goをやろう Day55/7(火) 20:00〜21:00 [オンライン] Goオンラインもくもく会 #25/10(金) 19:30〜21:20 [東京都台東区] Asakusa.go #25/11(土) 10:00〜12:00 [
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く