プログラミング言語 Go
Go 言語プログラミングに関する話題。
記事中に出てくるサンプル・コードについては,特に断りがない限り, CC0 相当での取り扱いで(つまり自由に再利用して)構わない。
なお書籍の『プログラミング言語Go』とは何の関係もないのであしからず。 (どちらかというとタイトルは『プログラミング言語C』からのパクリです)
記事の一覧
- Go 1.22 における疑似乱数生成器 () #golang #programming #random
- Zap と go-log を試す () #golang #logger #programming
- 【Go 1.20 の予習】複数 error を返す Unwrap メソッドについて () #error #golang #programming
- 今年の恵方を取得する () #calendar #golang #module #package
- Flickr 短縮 URL () #flickr #golang #programming
- 公式の構造化 Logger (になるかもしれない) slog パッケージ () #golang #logger #programming
- BOM を除去する io.ReadCloser Decorator を作ってみた () #golang #programming
- 紙芝居用の簡易 Web サーバを Go 言語で書く【叱られ編】 () #golang #programming #risk #security #web
- SSH, MySQL, Zerolog, そして Kra () #golang #mysql #orm #programming #sql
- fs.FS を使ってディレクトリ・ファイルを参照する () #golang #programming
- Go 1.19 で os/exec パッケージの挙動が変わった話 () #golang #programming #risk #security
- strings.Title 関数は非推奨になった () #golang #lint #programming
- goark/pa-api パッケージで GetBrowseNodes オペレーションに対応した () #amazon #golang #pa-api #programming
- CI 用の GitHub Actions が諸々アップデートされていた () #continuous-integration #github #golang
- Unicode のカタカナを調べる () #character #golang #unicode
- 仮名・ローマ字変換する Go パッケージを作ってみた () #character #golang #package #programming #unicode
- 定数生成器 iota についてちゃんと書く () #golang #programming
- Go と日本語 () #golang #japanese #language #unicode
- Go による Token Bucket 実装 () #concurrency #golang #programming
- TinyGo で WASI 【失敗編】 () #golang #programming #tinygo #webassembly
- TinyGo で WebAssembly () #golang #programming #tinygo #webassembly
- 特殊形式による式評価について () #channel #golang #map #programming #type
- 紙芝居用の簡易サーバを書く【Go 1.16 版】 () #golang #package #programming
- Go 1.16 からのモジュール管理 () #engineering #golang #management #module
- io/ioutil の非推奨化について () #golang #package #programming
- time.Ticker で遊ぶ【Go 1.16 バージョン】 () #concurrency #context #golang #goroutine #programming #signal #time
- Unicode 文字種の判別 () #character #golang #programming #unicode
- ポインタが指し示す意味を考える () #engineering #golang #pointer
- github.com/cli/safeexec パッケージを使った外部コマンドの安全な起動 () #golang #programming #risk #security #vulnerability
- io.Copy を上限付きで実行する () #compress #golang #programming
- ランダムな文字列を生成する () #golang #math #programming #random
- バイト列の同値性(『プログラミング言語 Go』読書会より) () #benchmark #golang #programming #string
- GitHub Actions でクロス・コンパイル(GoReleaser 編) () #continuous-integration #cross-compile #github #golang
- Go 依存パッケージの脆弱性検査 () #continuous-integration #github #golang #management #module #package #risk #security #vulnerability
- golangci-lint を GitHub Actions で使う () #continuous-integration #engineering #github #golang #lint #programming
- 次期 Go 言語で導入される総称型について予習する(その3) () #constraint #generics #golang #language #programming #type
- time.Time の比較が覚えれん! () #golang #programming #sort #time
- 次期 Go 言語で導入される(かもしれない) io/fs パッケージについて予習する () #engineering #file-system #golang #package #programming
- こんな埼「玉」修正してやるぅ () #character #golang #normalization #programming #transform #unicode
- かなカナ変換 () #character #golang #programming #transform #unicode
- プリキュアしりとりで遊ぶ【Go言語版】 () #golang #permutation #programming #unicode
- 次期 Go 言語で導入される総称型について予習する(その2) () #constraint #contract #generics #golang #language #programming #type
- 画像データを連結してみる () #golang #image #programming
- Go 言語でもグラフを描きたい! () #chart #golang #math #programming
- Go Playground でお絵描き () #golang #image #programming
- Writers パッケージを作ってみた () #golang #logger #package #programming #regular-expression
- インスタンスの比較可能性 () #golang #interface #programming
- go-homedir はもう要らない () #golang #module #package #programming
- JSON の操作 () #golang #json #programming
- パッケージの管理(モジュール対応版) () #design #engineering #golang #module #package
- strings.EqualFold 関数を使え () #benchmark #golang #string #unicode
- GolangCI でコード・レビューを自動化する () #engineering #golang #lint #programming
- 構造化エラーをログ出力する () #engineering #error #golang #logger #programming
- 時刻の「時」以下を切り捨てる処理 () #golang #programming #time
- 拡張版 Glob 関数を書いてみた () #filepath #golang #programming
- saracen/walker で歩いてみる () #concurrency #filepath #golang #programming
- 【改訂版】文字列連結はどれが速い? () #benchmark #golang #join #string
- Go 言語で浮動小数点数をいろいろな書式で表示してみる () #floating-point #format #golang #json #programming
- Go の疑似乱数生成器は並行的に安全ではないらしい(追記あり) () #channel #concurrency #golang #goroutine #programming #random
- rakyll/statik でシングルバイナリにまとめる () #golang #package #programming
- 書式 %v のカスタマイズ () #format #golang #programming
- Go モジュールのミラーリング・サービス【正式版】 () #engineering #golang #management #module
- Go 言語の環境変数管理 () #environment #golang
- 列挙型での遊び方 () #enumeration #golang #programming
- Go 1.13 のエラー・ハンドリング () #error #golang #programming
- nil は nil () #error #golang #interface #null #programming
- Map は連想配列ではなく連想配列への「参照」である () #golang #map #programming
- For-Range 構文の話 () #engineering #golang #pointer
- Go モジュールのバージョン管理 () #engineering #golang #module #versioning
- エラー・ハンドリング再考 () #design #engineering #error #golang #programming
- 階層化 Error パッケージ “xerrors” を試してみる () #error #golang #programming
- “go mod graph” を視覚化する () #golang #module
- golangci-lint に叱られる () #atom #golang #lint #signal #tools
- Go 言語で画像のサイズ変更:定義済み draw.Scaler の比較 () #golang #image #programming
- Go 言語で画像のサイズを変更する () #golang #image #programming
- Go 言語で Factory Method Pattern を構成できるか () #golang #interface #object-oriented #programming #type
- 次期 Go 言語で導入される(かもしれない)新しいエラー・ハンドリングについて予習する () #engineering #error #golang #programming
- 次期 Go 言語で導入される(かもしれない)総称型について予習する () #contract #generics #golang #language #programming #type
- モジュール対応モードへの移行を検討する () #engineering #golang #module #versioning
- CSV/TSV データの読み書き () #golang #map #programming #slice
- Go 言語で使える ORM と SQL ビルダー () #golang #orm #programming #sql #sqlite
- 正規表現に関する戯れ言 () #golang #programming #regular-expression
- Go 言語で SQLite を使う(Windows 向けの紹介) () #gcc #golang #package #sqlite #windows
- テスト・フレームワークで Project Euler を解く () #benchmark #golang #testing
- XML データの Unmarshalling () #golang #marshal #struct #tags #xml
- time.Ticker で遊ぶ () #channel #concurrency #context #golang #goroutine #message-passing #programming #signal #time
- Go 言語による Lua 実装を試してみた () #engineering #golang #language #lua #programming
- Log パッケージで遊ぶ () #engineering #golang #logger #programming
- vgo (Versioned Go) に関する覚え書き () #engineering #golang #module #versioning
- Markdown パーサ blackfriday.v2 で遊ぶ () #golang #html #markdown #programming #template #tools
- go-assets でシングルバイナリにまとめる () #golang #package #programming
- Map の話 () #golang #map #programming
- URI エンコーディングについて () #golang #programming #web
- 組込みで Go () #bookmark #embedded #engineering #golang
- Go 言語による Unicode 半角/全角変換 () #character #golang #transform #unicode
- Cobra の使い方とテスト () #cli #golang #programming #testing
- 文字エンコーディングの検出 () #character #encoding #golang #transform
- Go 言語でデータ圧縮と解凍 () #bzip2 #compress #golang #gzip #zlib
- Markdown 形式のリンクを生成するツールを作ってみた () #golang #programming #tools
- Travis CI でクロス・コンパイル(GoReleaser 編) () #continuous-integration #cross-compile #github #golang #tools #travis-ci
- Hash 値を計算するパッケージを作ってみた () #cryptography #golang #hash #programming
- Codic API を利用するパッケージを作ってみた () #api #cli #curl #golang #language #package #programming
- Go 言語における Singleton Pattern () #golang #goroutine #init #programming #singleton #sync
- Glide から Dep への移行を検討する () #dep #engineering #glide #golang #package #testing #tools #vendoring
- 指定桁の数字列の先頭をゼロで埋める遊び () #cli #golang #programming #regexp #regular-expression
- 最大公約数と関数型プログラミング () #function #golang #greatest-common-divisor #math #programming #recursion
- Gzip 操作について覚え書き () #compress #defer #golang #gzip
- Go 1.9 と Type Alias () #golang #language #programming #refactoring #type
- ソートを使う () #golang #programming #sort
- インスタンスの生成と Functional Options パターン () #functional-options #golang #programming
- 配列と Slice () #golang #programming #slice
- 「プレミアムフライデー」を求めるパッケージを作ってみた () #calendar #golang #programming #time
- 演算子とステートメント () #golang #language #programming
- 1を1億回足して1億にならない場合 () #floating-point #golang #programming #type
- モンテカルロ法による円周率の推定(その4 PRNG) () #circle-ratio #golang #math #mersenne-twister #random
- モンテカルロ法による円周率の推定(その3 Gaussian) () #circle-ratio #gaussian #golang #math #random
- モンテカルロ法による円周率の推定(その2 CLI) () #circle-ratio #cli #facade #golang #init
- モンテカルロ法による円周率の推定(その1) () #circle-ratio #golang #math #random
- Error の構造化 () #error #golang #programming
- 関数とポインタ () #defer #function #golang #pointer
- 「ズンドコチェック」なるものが流行っているらしい () #benchmark #channel #golang #goroutine #programming #random #slice
- Interface の謎 () #golang #interface
- Travis CI でクロス・コンパイル () #continuous-integration #cross-compile #github #golang #tools #travis-ci
- スタック追跡とパニック・ハンドリング () #golang #panic #stack
- Struct タグについて () #golang #marshal #struct #tags
- Go 言語と Unicode 正規化 () #character #golang #normalization #transform #unicode
- Go 言語の日付処理 () #golang #time
- 再帰呼び出しと関数テーブル () #golang #recursion
- コマンドライン・インタフェースとファサード・パターン () #cli #facade #golang
- Go 言語における「オブジェクト」 () #golang #interface #object-oriented #programming #type
- Glide で Vendoring () #engineering #gb #glide #golang #package #testing #tools #vendoring
- Git.io から短縮 URL を取得するコード () #api #curl #github #golang #programming
- ATOM で Go () #atom #editor #engineering #golang #tools
- パッケージ外部からの呼び出しを禁止する Internal Packages () #golang #package
- パッケージの依存状況の視覚化 () #golang #package #tools
- エラー・ハンドリングについて(追記あり) () #defer #design #error #exception #golang #interface #panic
- GOPATH 汚染問題 () #engineering #environment #golang #package #pollution #vendoring
- gb でプロジェクト・ベースの開発環境をつくる () #engineering #gb #golang #testing #tools
- 文字エンコーディング変換 () #character #encoding #golang #transform
- 文字列連結はどれが速い? () #benchmark #golang #join #string
- String と Rune () #character #golang #rune #string #unicode
- Go 言語のドキュメント・フレームワーク () #godoc #golang
- Go 言語のテスト・フレームワーク () #golang #testing
- 機能のパッケージ化 () #github #golang #package
- 「ユリウス日」で遊ぶ () #astronomy #golang #julian-day-number #math #time
- 素数探索アルゴリズムで遊ぶ () #algorithm #channel #golang #goroutine #math #message-passing #prime-number #slice
- go get コマンドでパッケージを管理する () #engineering #golang #package
- インストールから Hello World まで () #golang #helloworld #install
- Go 言語に関するブックマーク(廃棄) () #obsolete
- Go 言語に関するブックマーク () #bookmark #golang