本業が忙しくて Go 言語をかまってあげる暇がないのだが,ブックマークばっかり溜まっていくので,定期的に吐き出しておく。なお, Qiita でのメンテナンスは終了することにした。以降は以下のページでメンテナンスしている。
公式サイト
- The Go Programming Language : 2017年1月26日時点での最新は 1.7.6
- golang-jp - The Go Programming Language : 本家の日本語訳サイト。(golang.jp は内容が古いので参考にしない方がいい,らしい)
Go 1.5 Released.
- Go 1.5 is released - The Go Blog
-
Go 1.5 Release Notes - The Go Programming Language
- Go 1.4 "Internal" Packages : Internal Packages は 1.5 で GOPATH まで拡張された
- Go 1.5 Vendor Experiment
- [security] Go 1.5.3 is released - Qiita
Go 1.6 is released
Go 1.7 is released
- Go 1.7 is released - The Go Blog
- Go 1.7 Release Notes - The Go Programming Language
- Security Release Go 1.7.4 and 1.6.4 — しっぽのさきっちょ | text.Baldanders.info
- Go1.7からSSAが導入された - flyhigh
言語仕様に関すること
- はじめてのGo―シンプルな言語仕様,型システム,並行処理:特集|gihyo.jp … 技術評論社
- Golangの基本文法をおさえてみる - Qiita
- 忙しい人のためのA Tour of Go - Qiita
- Golang の 数値型 - Qiita
- Go言語の型とreflect - Qiita
- Goのfor rangeで思った値が取れなかった話 - Qiita : ちょっとしたミス
- unsafe が unsafe なケース (1) - Qiita
- Big Sky :: Go言語でインタフェースの変更がそれ程問題にならない理由
- import 書き方まとめ - Qiita
- ErlangとGolangを比較してみる - Qiita
-
GoのEnumイディオム - Qiita : あらかじめ Enum 用の type を作成し、その type に対する
String()
メソッドを定義する - Big Sky :: golang では for ループの中で defer してはいけない。 : ループ内で defer が必要になるということは refactoring のチャンス
- オブジェクト指向言語としてGolangをやろうとするとハマること - Qiita
- Go言語に継承は無いんですか【golang】 - DRYな備忘録
- Goで再帰使うと遅くなりますがそれが何だ - YAMAGUCHI::weblog
- Go言語(Golang) はまりどころと解決策
- Golang: nil Pointer Receiverの話 - Qiita
- Go 言語の値レシーバとポインタレシーバ | Step by Step
- Big Sky :: Golang のオフィシャルが提供するインタフェースまとめ
- Visualizing Concurrency in Go · divan's blog
- Goの並行パターン:コンテキスト (Go Concurrency Pattern: Context) : 1.7 からは Context パッケージが標準ライブラリに組み込まれるらしい
- Go の定数の話 - Qiita
- Goにatexitやグローバルなデストラクタがない理由 - Qiita
- init関数のふしぎ #golang - Qiita
- Goで任意のbuild tagsをつけてビルドファイルを切り替える - Qiita
文字列操作または変換
- Strings, bytes, runes and characters in Go - The Go Blog
- Go言語のstring, runeの正体とは? - golang - The Round
- Go言語は空文字に対してstrings.splitを掛けると1要素の配列を返す - Qiita : コメントに別解あり
- golang - Goでマルチバイトが混在した文字列をtruncateする - Qiita
- Golangでの文字列・数値変換 - 小野マトペの納豆ペペロンチーノ日記
- golang - Go言語で文字コード変換 - Qiita
- Go で euc-jp や sjis の csv ファイルを読み込むには変換用のリーダーを1つかませるだけでよかった - Qiita
- Goでは文字列連結はコストの高い操作 - Qiita
- Goの文字列結合のパフォーマンス - Qiita
- Go言語で SplitMultiSep (複数種の区切り文字列で分解) - Qiita
- Go で UTF-8 の文字列を扱う - Qiita
- Go言語 Gmailのsubjectの日本語文字化けに対応する - Qiita
- Text normalization in Go - The Go Blog : Unicode 正規化について
- Go言語で文字列の変換(全角・半角、ひらがな・カタカナ)をする : Serendip - Webデザイン・プログラミング
- Goで全角英数字を半角にする - Qiita
- uint64型を[]bytes型に変換する - Qiita
本家ブログでも以下の記事で解説している。
配列
slice, map, および後述の channel は組み込みの型だが内部構造と状態を持つため, new ではなく make を使う。
- Go のスライスでハマッたところ - Block Rockin’ Codes
- golang - go言語のslice操作をまとめてみた(shiftしたりpushしたり) - Qiita
- sliceの重複チェックを高速化 - Qiita
並行処理と並列処理
- Go の並行処理 - Block Rockin’ Codes
- Go: 計算なしのFizzBuzz - Qiita : channel の説明するのにいいかも
- Goのchannelの送受信用の型について - Qiita
- Go言語のChannelは送信時にもブロックする - Qiita : 意外と見落とす channel 送信時のブロック
- select loop の小ネタ - Qiita
- Goのforとgoroutineでやりがちなミスとたった一つの冴えたgo vetと - Qiita
- x/net/context の実装パターン - Qiita : golang.org/x/net/context を使って並行処理を細かく制御。 Domain-Driven あるいは Context-Driven な設計でも使えそう。
- Go言語でチャネルとselect - Qiita
- golangでシグナルを拾ってgracefulにgoroutineを停めたい - Qiita
- golang の channel のブロックがよくわからん - Qiita
- GoのChannelを使いこなせるようになるための手引 - Qiita
-
Goでスレッド(goroutine)セーフなプログラムを書くために必ず注意しなければいけない点 - Qiita :
sync.Mutex
にも言及 - GAE/Goでもgoroutine使おうぜ!というハナシ - Qiita : GAE/Go の API には非同期版がないので積極的に goroutine 使おうよ,という話
- 複数のgroutineが生えてるStructの安全な終了方法 - Qiita
- Go言語の並行性を映像化する | プログラミング | POSTD
- Go言語でプロセス間同期処理 - Qiita : Windows の Mutex を使ってプロセス間通信を行う
- Goで並行処理のベンチマークをとる - Qiita
- go言語初心者が図を書きながらgo routineやgo channelを理解する(Part 1) - Qiita
- Goroutineと channelから はじめるgo言語
- Go言語の並行処理デザインパターン by Rob Pike 前編 - Qiita
- Big Sky :: golang の channel を使ったテクニックあれこれ
Go 言語で複数 CPU を使った並列処理を行うには明示的な設定が必要。
Struct タグについて
- Goのencoding/jsonでタグが反映されなくてハマったしょうもない話 - Qiita
- Go で struct のタグ情報を取得する - hiyosi's blog
- Goのjson.Marshal/Unmarshalの仕様を整理してみる - I Will Survive
- GoでJsonファイルを読み込んで構造体として扱う。 - Qiita
- BurntSushi/tomlを使ってハマったこと - Qiita : BurntSushi/toml にバグがあるという話
- GoでJSONの一部分を利用者が定義した構造体に読み込める便利な手法を見つけた - Qiita
- golang は ゆるふわに JSON を扱えまぁす! — KaoriYa
- Go言語でJSONに泣かないためのコーディングパターン - Qiita
本家ブログ記事「Struct タグについて」でも解説している。
エラーハンドリング
- または私は如何にして例外するのを止めて golang を愛するようになったか — KaoriYa
- Big Sky :: golang で複数のエラーをハンドリングする方法
- DSAS開発者の部屋:Go ではエラーを文字列比較する?という話について : エラーハンドリングには,定数との比較, conversion 構文による型の比較,エラー文字列の比較がある
- panicはともかくrecoverに使いどころはほとんどない - Qiita
- go で AggregationException(.NET)的なことをする - Qiita : ループ等でエラーを集約してからまとめて処理する方法
- echoのAPIサーバ実装とエラーハンドリングの落とし穴 - Qiita
- Golangのエラー処理とpkg/errors | SOTA
本家ブログでも以下の記事で解説している。
context パッケージ
バージョン 1,7 から標準パッケージに入った context パッケージについて。
- Goの並行パターン:コンテキスト (Go Concurrency Pattern: Context)
- Go1.7のcontextパッケージ | SOTA
- contextの使い方 - Qiita
- context.Contextでリクエストスコープな値を持ち回す - Qiita : context の使い方って(名前からいって)本来こっちだよね
開発ツールおよびパッケージ
デバッガ
- golang でビルド時に最適化をオフにする - tetsuok の旅 blog : gdb でデバッグする際は最適化を off にするといいという話
- Go言語のトラブルシューティング用機能
- Go で利用できるプロファイリングツール pprof の読み方 - Qiita
- Goでfunctionが実行された順番を追いかける - sgykfjsm.github.com
- Go言語でプリント文デバッグするときのTips - Qiita
Go 言語のテスト・フレームワーク
- Go の Test に対する考え方 - Qiita
- Goでテストを書く - 成らぬは人の為さぬなりけり
- golang 1.4で追加されたtestingの便利機能(テストの初期化とお片づけ) - Qiita
- gojiのレスポンス結果をテストする - Qiita
- Go Mockでインタフェースのモックを作ってテストする #golang - Qiita
- Go でベンチマーク - Block Rockin’ Codes
- go言語でベンチマーク - Qiita
- プロダクト開発でのGoのテストとモック活用事例 - Qiita
- Go言語でファジング | SOTA
- GAE/GoとGojiの組み合わせでテストを書く - Qiita
go test -count n -timeout t
- Qiita- Big Sky :: Re: golangでIOへのテストを行う
- Golang におけるサブテストの並行処理実装について | eureka tech blog
- GAE/Goのテストを実行するために必要なこと - Qiita
- Golangでテストしやすいコードをかく - Qiita
本家ブログ記事「Go 言語のテスト・フレームワーク」でも解説している。
Go 言語のドキュメント・フレームワーク
- Go で godoc を使えるようにする〜godoc のインストール〜 - Qiita
- Go言語のコードレビュー | SOTA
- Go コードのレビュー時によくされるコメント - build error
- testingパッケージのExamplesについて - taknb2nchのメモ
- GoのExampleテストが便利 : swdyh
- godoc.org への掲載方法を調べた - taknb2nchのメモ
本家ブログ記事「Go 言語のドキュメント・フレームワーク」でも解説している。
Refactoring
- ジェネレートしたコードを gofmt / goimports する - Qiita
- Big Sky :: golang のリファクタリングには gofmt ではなく、gorename を使おう。 : リファクタリングには gofmt よりも gorename が使えるという話
- struct にアノテーションつけてたら go vet . すべき - Qiita
-
これからGo言語を書く人への三種の神器 - Qiita :
go vet
,goimports
,golint
で正しいコードを書きましょう。 - golintと闘いたいけど心の折れてしまった勇者のための隠しダンジョン - Qiita
- gometalinter で楽々 lint - Qiita : 各種 lint を統合的に扱える
クロス環境
- Goはクロスコンパイルが簡単 - unknownplace.org
- Go のクロスコンパイル環境構築 - Qiita
- golang でのクロスコンパイルの留意事項 — KaoriYa : Windows 環境でクロス環境を構築する際の注意点。
- Golang + Raspberry Pi + LPS331AP で気圧・温度を測定してみた - Qiita : Raspberry Pi 用のクロス環境例。
- Gobot - Golang framework for robotics, physical computing, and the Internet of Things
- 複数プラットフォームにGoアプリケーションを配布する | SOTA
- MacOS X でGo言語のクロスコンパイルを試したらハマった - Qiita : gox を使う方法
- Goで64bitと32bitの実行ファイルを同一Windows機で作成するために講じたこと - Qiita
- Travis-CI で Go の Windows 用バイナリを Github release に登録する - Qiita
-
gopherjs + electron テスト - Qiita :
gopherjs/gopherjs
を使って Go のコードから javaScript コードを生成できるらしい - Raspberry PI 2 用の consul を作る (201512版 - Qiita : Raspberry PI 上でビルドするより Linux のクロス環境を使ったほうが速いらしい
- CI-as-a-ServiceでGo言語プロジェクトの最新ビルドを継続的に提供する | SOTA
- RaspberryPi1(2とzeroも)で動かすgolang製アプリをクロスコンパイル(onMac) - Qiita
本家ブログ記事「Travis CI でクロス・コンパイル」でも解説している。
C 言語との連携
- cgoでGoのコードからCの関数を利用する - 1000ch.net
- cgoでGolangとC++ライブラリをリンクするとき、何が起きているのか - beatsync.net
- GO 1.5 と C++ を SWIG でブリッジさせる方法 - Qiita
- cgoを使ったCとGoのリンクの裏側 (1) - Qiita
- Golang で Static Library を作る際、stringをparameterで受け取るならコピーしよう。 - Qiita
- マルチプラットフォーム対応したライブラリ Golang - Qiita
Logging
- Golang logging library - Qiita
- go言語におけるロギングについて
- Golangで簡単にログを吐くことを考える - Qiita : seelog について解説している。私は XML には全くアレルギーがないので無問題
- Go言語でdebugログの実現方法 - Qiita
- loggingについて話そう - Qiita
- golangでlogを標準出力とテキストファイルの2箇所の出力する - Qiita
- gorpで実行されるSQLをログに出力する - Qiita
ビルド時に情報を各種埋め込みたい
- Go言語: ビルド時にバージョン情報を埋め込みたい - Qiita
- Golangビルド時に、サブパッケージ内の変数をいじる - None is None is None
- Goでビルドバージョン情報を参照できるようにする(Go1.5) - Qiita
- go-bindata でコンパイル時にリソースを埋め込んじゃおう! - Qiita
- ソースを実行ファイルに埋め込む方法 - Qiita
- Golangで静的ファイルをバイナリに含めるライブラリを書いてみた - Qiita
- GolangのGin/bindataでシングルバイナリを試してみた(+React) - Qiita
Integrated Development Environment
- EclipseでGoプログラミング! GoClipseのインストールとGojiフレームワークを使ったWeb APIの作成 (1/6):CodeZine
- WindowsでGolang開発環境構築 IntelliJ IDEA - Qiita
- Go入門@環境構築編(IntelliJ IDEA 14.1.4) - Qiita
- WindowsにIntelliJ IDEAでgoの開発環境を作りましたよ ついでにgit連携もいたしましたよ - Qiita
- Cloud9にGo言語でHelloWorldを実装・実行してみた - Qiita
ATOM で Go
Visual Studio Code で Go
- VisualStudioCode - Visual Studio CodeでGo言語の設定 - Qiita
- VSCode+Golang : task.json の設定
- VisualStudioCodeでGAE/Goの環境設定 - Qiita
Emacs で Go
Vim で Go
Build Tool for Golang
constabulary/gb を使ってプロジェクトベースの環境構築
- golang - gbを知ったのでgojiを使ったWEBアプリケーションプロジェクトを管理してみた - Qiita
- Building Go projects with gb - Supermighty
- Go言語のDependency/Vendoringの問題と今後.gbあるいはGo1.5 | SOTA
FiloSottile/gvt というのがあるらしい。
Masterminds/glide と Go 1.5 の Vendoring 機能を組み合わせてパッケージ管理できる。
direnv で開発環境を切り替える
direnv - unclutter your .profile
- direnv/direnv
- direnvで解決するGOPATHの3つの問題点 - None is None is None
- 改めて、direnvを使いましょう! - HDE BLOG
- さくら - homeにgolang, direnv とvirtualenvを入れて動かす - Qiita
Continuous Integration
- Go + Travis CI + Coveralls でCI環境を作る - Qiita
- GithubにあるリポジトリをTravis CI連携する手順 #junitbook - くりにっき
- CI-as-a-ServiceでGo言語プロジェクトの最新ビルドを継続的に提供する | SOTA
- golangでTravis CIを使ってクロスコンパイルするときにハマったところ #golang #travisci - uchimanajet7のメモ
- Go言語のビルド生活を drone.ioで幸せに暮らす #golang - Qiita
- Go+Webアプリケーション+CircleCIで静的解析・テスト・バイナリリリースを効率良く行なう - Qiita
パッケージやサンプルコード
- Go用のGoogle製のGUIツールキットgxuiのインストール(Windows版) - Qiita
- goでLチカの練習 その2 - Qiita
- Revel templatesを使ったサンプルアプリケーション - Qiita
- goでwindowsでwindow - Qiita
- Go言語でパッケージを作成して世界に公開する方法 at ミネルヴァの梟は黄昏とともに飛び始める(山下 大介 公式ブログ) : パッケージの作り方なんだけど情報が古い。「昔はこうだった」くらいの感じで
- goでwindowsでキースキャン - Qiita
- gocron でジョブスケジューリング - Qiita : gcarlescere/scheduler のほうがおすすめらしいw
- Google ChromeのテキストエリアをEmacsで編集する'Edit with Emacs'から任意のエディタを起動するデーモンをGo 1.4 for Windowsで書いてみたわけだが、エディタがブラウザの後ろに出てしまってダメかもしれない - Qiita
- golangでprivateなエイリアスのポインタを元の型に戻す - Qiita
- Go の expvar パッケージを使ってアプリケーションのメトリクスを公開する - Qiita
- Go言語: ファイルの存在をちゃんとチェックする実装? - Qiita
- Golangで、ファイル一覧取得(最新順出力) - Qiita
- Go小ネタ: 正規表現を全角半角問わずマッチするよう変換する - Qiita
- Goのバッチで統計を取得するAPIを用意しておくと便利 - Qiita
- Mithril+golang Gin を試す - Qiita
- 大学入試問題をGoで解いてみる - Qiita : math/big パッケージを使って大きな数を計算する。
-
cmd.Envを設定してexecしたらコケた - Qiita :
exec
パッケージを使う際には環境変数に注意 - golangで数独を解いた - Qiita
- Go言語でBigQueryのクエリを実行してみる - Qiita
- 今後イケそうなデスクトップGUIフレームワーク - Qiita : go-thrust について言及
- 1l0/sumeragi : 皇紀や元号を出力するパッケージ
- RubyからGoの関数をつかう → はやい - Qiita
- Go ライブラリによる CGIプログラム内ルーチング - Qiita
-
Go言語と暗号技術(AESからTLS) | SOTA
- tcnksm/go-crypto : サンプルコード
- マイナンバーのチェックデジットをGoで計算する - Qiita
- golangでImageMagickを触りたい - Qiita
- Go言語でRedshiftとつなぐ(というかただのPostgreSQL) - Qiita
- GolangのOpenGL事情(WebGLも含むよ) - Qiita
- goのmgoでfindするときの処理 - Qiita
- Go と reflect と generate - Qiita
- Windows+GoでNFC/Felicaにアクセスしてみた - Qiita
- GoでShared Libraryをビルドしてみた(簡単ドキュメント指向DB) - Qiita
- GAE/GoでCMSつくった - Qiita
- Goで3Dモデル変換してプレビュー - Qiita
- Go最後の秘宝「GUI」を探しに行く - Qiita
- Go + QML + QChart.js で素敵なチャートを表示する - Qiita
- golang で AB x CD / E - F * G * H = 2016 になる全パターン洗い出し - Qiita
- Go で 0 から始まる連続する n 個の整数を重複無く k 個選んだ時の組み合わせの列挙 - Qiita
- Goで帳票をPDFに作成するライブラリ。 請求書などの複雑なフォーマットにも対応 - Qiita
- golangのtime.Timeの当日00:00:00を取得する方法とベンチマーク - Qiita
- Go で簡単に Excelを作成するライブラリ。 色、罫線、網掛けを事前定義済 - Qiita
- Gmail API for Goで、下書き生成ツールを作りました。 - Qiita
- Goで関数型プログラミング - Qiita : reflect パッケージを使って高階関数を表現できる
- GoでANSIエスケープコードを扱うライブラリを作った(色付け・カーソル移動等) - Qiita
- Go で interface {} の中身がポインタならその参照先を取得する - Qiita
- Go の DB アクセス用のパッケージを作った - Qiita
- Google App Engine SDK for Goを使ってGAE上でアプリを動かすまで - Qiita
- GoでSpreadsheetを操作するパッケージを作った - Qiita
- Go 言語 1つの構造体に複数の validation を適応する - Qiita
- Golangでreduce関数を提供しているライブラリugoを眺めてみた - Qiita
- Go 言語で rm 用ごみ箱ツール gomi を作った - Qiita
- パッケージのimport pathを好みのURLにする - Qiita
- JSONSchemaからstructのようなコードを生成する"structr"というのを書いた - Qiita
- Twilio使って、入力した電話番号をチェックする方法 - Qiita
- 埋込みとインタフェース #golang - Qiita
- UnityのネイティブプラグインをGoで書く #golang #unity - Qiita
- Golang で過去の遺物的(cp932)DLLを利用する - Qiita
- Terraform for さくらのクラウド - Qiita
- Golang 日付のフォーマットでハマった話 - Qiita
- Go言語で東京メトロAPIを叩く - Qiita
- GAE/Goで形態素解析してみた - Qiita
- MySQLでのトランザクション処理をGolang+dbrで実現してゆく話 - Qiita
- コマンドラインからググれてもいいと思ったので作った - Qiita
- Big Sky :: golang の遅いコードをたった1行で高速化するテクニック : 実際にはちょっと速くなるくらいらしい
- Big Sky :: Golang で Windows の DLL を作る方法
- Big Sky :: golang で slim テンプレートエンジン書いてる。
- Go+GAE+Cloud Datastoreで簡単なREST APIを構築 - Qiita
- 独自のfmt.Formatterを実装する - Qiita
- Go 言語で wc を実装してみた - takatoshiono's blog
- 【コンピュータ将棋】ゴルーチンでお手軽持ち時間管理&並行探索 - Qiita
-
Go言語でエクセルファイル (.xlsx) を読み込む - Qiita :
github.com/tealeg/xlsx
パッケージを使用 -
Go言語でExcel操作ライブラリを書いてみた - Qiita :
github.com/loadoff/excl
パッケージの説明 - radikoの録音ツールをGoで書いた - Qiita
- 簡単な式の評価機を作ってみる #golang - Qiita
- Goのコード生成のためのテンプレートエンジン seyfert を書いてみた - Qiita
- nagomeのplugin ngm-polly 作った - Qiita
- Go言語でコレクション処理のメソッドを作ってみた #golang - Qiita
- ASTを取得する方法を調べる #golang - Qiita
- ピーマンとハトと数学を Go 言語で試す - Qiita
- Big Sky :: Windows からも ssh でリモートコマンド実行したい、それ golang で出来るよ
- Big Sky :: golang の http.Client を速くする
- goパッケージで簡単に静的解析して世界を広げよう #golang - Qiita
- Big Sky :: Re: Go でシングルバイナリな Web アプリを開発しているときに webpack --watch をうまいところやる
- Big Sky :: golang オフィシャル謹製のパッケージ依存解決ツール「dep」
コマンドライン・ツール
- Go言語によるCLIツール開発とUNIX哲学について - ゆううきブログ
- 開発者から見た UNIX 哲学とコマンドラインツールと Go言語 - TELLME.TOKYO (Qiita 版)
- コマンドライン引数 - Qiita
- Go言語のflagパッケージを使う - uragami note
- Go を使ってコマンドラインツール wordc を作ってみた - Qiita : codegangsta/cli についての言及あり
- GoでCLIツール作るのに便利そうなパッケージを集めてみました - Qiita
- C言語とGo言語で標準出力が端末を参照しているかどうかを判定する - uragami note
- Go言語のCLIツールのpanicをラップしてクラッシュレポートをつくる | SOTA
- flag 並にシンプルでより強力な CLI パーサ kingpin の紹介 - Qiita
- Goで外部コマンドをパイプして実行する - Qiita
- Golangで外部コマンドを実行する方法まとめ - Qiita
- spf13/cobra: A Commander for modern Go CLI interactions
- GolangでwebサービスのAPIを叩くCLIツールを作ろう - Qiita
- GoでMySQLにCA証明書を使ってアクセスする - Qiita
入出力処理
- Go ファイルや標準入力から一行ずつ読み込む - Qiita
- Goでファイルを読んで別のgoroutineに渡す - Qiita
- 「連結されたgzipを1行ずつ見る」をgolangでやったらハマった - Qiita : compress/gzip と入出力処理の関係
- bufio.Scannerのend-of-line判断を変更してみる - Qiita
- KOBE GDG: Go言語 バイナリファイルを扱う : 任意のオブジェクトをバイト列に変換してファイルに格納
- ファイル書き込みの度にファイルを開いたらどれくらい遅いのか - Qiita
- Golangで標準入力がパイプで渡されたものか判定する - Qiita
ソートアルゴリズムいろいろ
- sliceのシャッフル - Qiita : Fisher–Yates shuffle というアルゴリズムらしい
- Go言語でバイトニックソート実装してみた - Qiita
- Goでバケットソートアルゴリズム(ビット列を使用) - Qiita
- interface{} をソートする - Qiita
Web Microframework for Golang
- Big Sky :: golang で最近お気に入りの WAF「Goji」
- gojiのMiddlewareの使い方 - Qiita
- Gojiを使ってWebビーコン作る - Qiita
- Google App EngineでGoのウェブアプリケーションをまず動かしてみる - Qiita
- Go言語(Go-Json-Rest)でAPIサーバーを立てるときのCORS設定 (Basic認証機能付きも) - Qiita
- Goでwebサーバー作るときに考えたこと - Qiita
- Golang の net/url で # を含む文字列を Parse() する - Qiita
- Golang で OpenStreetMap ファイル(osm.pbf)の読み込み(osmpbf 利用) - Qiita
- GoのWEBアプリケーション運用について - Qiita
- go-qmlのWebViewでローカルWebサイトを表示するときの注意 - Qiita
- http.Clientのタイムアウトの時間を変更 - Qiita
- golangでhttpを監視するscriptを書いて結果をslackにpostする - Qiita
- Go言語(Go-Json-Rest)のCORSでのハマり。Safariだけでハマった話。 - Qiita
- GoでGoogleCalendarAPIv3を叩く(APIキー) - Qiita
- Golang で iso-2022-jp メールのデコード - Qiita
- Go言語の練習用にTwitterのOAuth認証をフルスクラッチしてみた - Qiita
- Goとtesseractで簡易OCRサーバを作る - Qiita
- Go言語で簡単にHTTPリクエストを送ってJSONをパースするサンプル - Qiita
- UnixListener.Closeでソケットファイルが消えて困っている - Qiita
- Goフレームワークのパフォーマンス比較 - Qiita
- 一定時間だけ立ち上がるサーバーを書いた - Qiita
- Big Sky :: golang のミドルウェアとして組み込むだけでパフォーマンス改善が見込める「HTTP Coala」
- Go付属のツールでオレオレ証明書を生成する - Qiita : なるほど(笑)
- Go http.RoundTripper 実装ガイド - Qiita
- Go で静的 HTTP サーバを作る - Qiita
- [golang]RevelでCSRFの対策 - Qiita
- net/httpでポート443のHTTPSサーバーを立ち上げるまで - Qiita
- 概観からGoのWebFrameworkを選ぶ(2016/02) - Qiita
- Revel(Golang)でViewを理解する - Qiita
- Big Sky :: golang で画像アップロードが簡単に出来る go-imageupload を使ってみた。
- Go言語のスクレイピング系ライブラリまとめ - Qiita
- Go の echo ってWebサーバーでサクッと REST しちゃう - Qiita
- nginx+circus+gojiによるgolang webアプリケーションの動作環境構築 - Qiita
- Big Sky :: golang で HTTP を使った処理を4倍速くする
- GolangのフレームワークEchoの話とHelloWorldサンプルを読み解くだけ - Qiita
- Golang+Echo+dbrでMySQLのCRUDをする/JSONでDBの値を返却する話 - Qiita
- Gin(Golang)におけるHTMLテンプレート記述方法 - Qiita
- GoLang で html/template を使っていて遭遇したエラーとその解決 - Qiita
- GAE/Go (echoフレームワーク)で Line Message API 使って Bot を作る。 - Qiita
- Go製のフレームワークechoを使ってJSONを返すWebサーバーを作り、GoogleAppEngineで動かす - Qiita
- go+ginでローカルで作ったWebアプリをGoogleAppEngineに載せる時に注意することまとめ - Qiita
- 社内のバックエンド開発にgRPCを導入してみた - Qiita
- Echoはver.3で結局のところ何が変わったのか? - Qiita
- Go言語のWEBフレームワークRevelを使用してセキュアなAPIを作成 - Qiita
- Go でツール書くときの Makefile 晒す - Qiita
- goa でデザイン・ファーストをシュッとする - Qiita
- echo 初心者でも簡単!! echo で扱うアセットファイル群を簡単にバイナリにまとめて使ってみる - Qiita
組み込み開発
-
goでwindowsでRS232C - Qiita
- ohisama/serial (forkd from lnmx/serial)
- goでwindowsでRS232C その2 - Qiita
- Goでのシリアル通信でハマった事 - Qiita
- go 1.5でgomobile(android) - unokun’s blog
- gomobileでiOSアプリをビルドする手順まとめ - GolangRdyJp
- gomobileで日本語フォントを扱ってみる - Qiita
Go 言語で学ぶ『暗号技術入門』
Soshi Katsuta さんによるテキスト。
丁寧な内容でとても参考になる。
- Go 言語で学ぶ『暗号技術入門』Part 1 -DES, Triple DES- | Step by Step
- Go 言語で学ぶ『暗号技術入門』Part 2 -AES- | Step by Step
- Go 言語で学ぶ『暗号技術入門』Part 3 -CBC Mode- | Step by Step
その他 四方山話
- 動的言語だけやってた僕が、38日間Go言語を書いて学んだこと - Qiita
- Go言語で幸せになれる10のテクニック - Qiita
- これからGoを始める人のためのTips集 | The Wacul Blog : ちゃんと開発環境を整備したい場合には参考になる
- Golang ファーストインプレッション - Qiita
- 2014年夏、カヤックは、Go言語を積極的に推進していきます。 |ニュース|面白法人カヤック
- (go report) Goが本当はすごかったので, 謝罪する - テストステ論
- Golang のインスコでハマった件 - Qiita
- Go Conference 2015 summer - Qiita
- 最新versionのgolangをぶち込む方法について - Qiita
- Heroku、Go言語の正式サポートを発表 - Publickey
最近ではGo言語の採用例が増えてきており、例えばDropboxは性能が重要な部分ではPythonに代わりGoで記述することを昨年11月に表明しており、オープンソースのPaaS基盤であるCloud Foundryも主要部分での開発でGo言語の採用を進めていると言われています。
- Google App Engineも「Go言語」の正式サポートを発表 - Publickey
- Sensuでネットワーク監視やってみた - Qiita
- i18n4go - developerWorks Open : IBM の developerWorks Open プロジェクトのひとつ。「プログラムを国際化するための汎用ツール」らしい。
- なぜGo言語は設計が悪いのか – Go愛好者の見地から | 未分類 | POSTD : 必見! Go のイケてないところ
- Go言語の初心者が見ると幸せになれる場所 - Qiita
- Big Sky :: Names : Golang の開発者 Russ Cox 氏による記事の抄訳。「変数名の長さ」について
- Go言語で作った実行ファイルを小さくしよう! - Qiita
- Goのプログラミングパターン
- Go言語で利用するLLVM入門 | プログラミング | POSTD
- Big Sky :: golang の Windows 版が buildmode=c-archive をサポートした。
- Gopherの道を歩む – Node.jsからGo言語への移行 | プログラミング | POSTD
- 6年間におけるGoのベストプラクティス | プログラミング | POSTD
- Big Sky :: 「みんなのGo言語」の執筆に参加させて頂きました。
- Go言語の低レイテンシGC実現のための取り組み | プログラミング | POSTD
- Go言語がダメな理由 | プログラミング | POSTD
- ASCII.jp:Goならわかるシステムプログラミング
- グーグルの「Go」、2016年のプログラミング言語大賞に輝く - ZDNet Japan
Go 1.5 に関する話題
- GVM で go1.5rc1 のインストール - Qiita
- goを1.5にアップデートして1.4とベンチを取る - Qiita
- Go 1.3 から 1.5 へのアップデートでエラー - Qiita : 古いバージョンからアップデートする際は,いったん 1.4 に上げてから 1.5 にアップデートするとよい
- Big Sky :: golang 1.5 の internal パッケージの使い方。
Go 1.6 に関する話題
- Goで良い感じに日時をパースするライブラリdatemakiの話とGo 1.6 - YAMAGUCHI::weblog
- Go1.6でポインタをcgoの関数へ渡す際の注意点 - Qiita
- Go1.6でポインタをcgoの関数へ渡す際に発生するcgoCheckPointerを回避する方法 - Qiita
- Goのバージョンを1.6rc2にアップデートしてみた - Qiita
- Goのバージョンを1.4.3→1.6にアップグレードできなかった - Qiita
- Go 1.6 templateパッケージ新機能 - Qiita
- Go 言語 1.6.1 および 1.5.4 のセキュリティ・アップデート — しっぽのさきっちょ | text.Baldanders.info
Go 1.7 に関する話題
- go1.7 の気になるところを試した - Qiita
- Sierraでgo1.7.3のコンパイル - Qiita
- 【作業メモ】さくらインターネットの標準CGIサーバでGoをビルド【古典的レンタル鯖】 - Qiita
Go 1.8 に関する話題
はじめての Go 言語 (on Windows)
Qiita で書いてる拙文の目次。
- はじめての Go 言語 (on Windows) : インストールと動作確認(“Hello World” まで)
- はじめての Go 言語 (on Windows) その2 : 素数探索アルゴリズムで遊ぶ(slice, make, goroutine, channel)
- はじめての Go 言語 (on Windows) その3 : get コマンドを使う
- はじめての Go 言語 (on Windows) その4 : string と rune
- はじめての Go 言語 (on Windows) その5 : 暦で遊ぶ(math, time)
- はじめての Go 言語 (on Windows) その6 : パッケージ化について
- はじめての Go 言語 (on Windows) その7 : テストを書く
- はじめての Go 言語 (on Windows) その8 : パッケージ化したのならドキュメントを書きましょう
- はじめての Go 言語 (on Windows) その9 : プロジェクト・ベースのビルド・ツールを使ってみる
- はじめての Go 言語 (on Windows) その10 : 最終回。コマンドライン・ツールを作ってみる。エラーハンドリングについてもちょっとだけ
ちなみに「はじめての...」以降の Go 言語に関する拙文は以下の通り。
- tcnksm/gcli を使った golang によるコマンドライン・ツール開発について
- そろそろ真面目に Golang 開発環境について考える — GOPATH 汚染問題
- Golang による文字エンコーディング変換
- Golang の文字列連結はどちらが速い?
- そろそろ真面目に Golang 開発環境について考える — Internal Packages と Vendoring
本家ブログでも不定期連載しています(最近はこっちがメイン)。