元記事: Awesome GO
Awesome List in Qiita
- Awesome Ruby
- Awesome Java
- Awesome JavaScript
- Awesome Node.js
- Awesome Python
- Awesome Selenium
- Awesome Appium
オーディオ/ミュージック
オーディオを操作するためのライブラリ.
- EasyMIDI - EasyMidi は, 標準の MIDI ファイル (SMF) を作業するためのシンプルで信頼性の高いライブラリです.
- flac - FLAC ストリームをサポートするネイティブ Go FLAC エンコーダ/デコーダ.
- gaad - ネイティブ Go AAC ビットストリームパーサ.
- go-sox - libsox の Go バインディング.
- go_mediainfo - libmediainfo の Go バインディング.
- gosamplerate - libsamplerate の Go バインディング.
- id3v2 - 高速で安定した ID3 の解析と書き込みライブラリ.
- malgo - ちいさなオーディオライブラリ.
- minimp3 - 軽量な MP3 デコーダーライブラリ.
- mix - 音楽アプリケーション用シーケンスベースの Go ネイティブオーディオミキサー.
- mp3 - ネイティブ Go MP3 デコーダ.
- music-theory - Go の音楽理論モデル.
- Oto - 複数のプラットフォームでサウンドを再生するための低レベルのライブラリ.
- PortAudio - PortAudio オーディオ I/O ライブラリの Go バインディング.
- portmidi - PortMidi の Go バインディング.
- taglib - taglib の Go バインディング.
- vorbis - ネイティブ Go Vorbis デコーダ (CGO を使用していますが, 依存関係はありません).
- waveform - オーディオストリームから波形イメージを生成できる Go パッケージ.
認証 & OAuth
認証スキームを実装するためのライブラリ.
- authboss - Web 用のモジュラー認証システム. Go で新しい Web プロジェクトを開始するたびに, 毎回認証システムを構築しなくても, アプリのプラグイン, 設定, および構築を開始できるように, できるだけ多くの定型文と「難しいもの」を削減しようとしています.
- branca - Branca トークンの Go 実装.
- casbin - ACL, RBAC, ABAC などのアクセス制御モデルをサポートする認証ライブラリ.
- cookiestxt - cookies.txt ファイル形式のパーサを提供します.
- go-jose - JOSE ワーキンググループの JSON Web Token, JSON Web Signatures, JSON Web Encryption の仕様をほぼ完全に実装しています.
- go-oauth2-server - Golang で書かれたスタンドアロンの仕様準拠の OAuth 2 サーバー.
- gologin - OAuth1 および OAuth2 認証プロバイダとのログイン用の連鎖可能ハンドラ.
- gorbac - Golang の軽量なロールベースのアクセス制御 (RBAC) の実装を提供します.
- goth - OAuth と OAuth2 を使用するシンプルでクリーンで慣用的な方法を提供します. 複数のボックスですぐに使用できます.
- httpauth - HTTP 認証ミドルウェア.
- jeff - プラグイン可能なバックエンドを使用した, シンプルで柔軟, 安全, かつ慣用的な Web セッション管理.
- jwt - クリーンで使いやすい JSON Web トークン (JWT) の実装.
- jwt - 軽量な JSON Web トークン (JWT) の実装.
- jwt-auth - たくさんの設定項目を備えた, Golang HTTP サーバのための JWT ミドルウェア.
- jwt-go - JSON ウェブトークン (JWT) の Golang での実装.
- loginsrv - JWT login microservice with plugable backends such as OAuth2 (Github), htpasswd, osiam.
- oauth2 - OAuth2 (Github) , htpasswd, osiam などのプラグイン可能なバックエンドを持つ JWT ログインマイクロサービス.
- osin - Golang OAuth2 サーバーライブラリ.
- paseto - プラットフォーム依存型セキュリティトークン (PASETO) の実装.
- permissions2 - ユーザー, ログイン状態, および権限を追跡するためのライブラリ. セキュアなクッキーと bcrypt を使用します.
- rbac - 最小限な RBAC パッケージ.
- scope - Oauth2 スコープ管理をかんたんにする.
- scs - HTTP サーバーのためのセッションマネージャー.
- securecookie - 効率的な安全なクッキーのエンコーディング/デコード.
- session - Web サーバーのセッション管理に移行する (Google App Engine - GAE のサポートを含む).
- sessiongate-go - SessionGate Redis モジュールを使用してセッション管理を行います.
- sessions - HTTP サーバのためのシンプルで高性能で高度にカスタマイズ可能なセッションサービス.
- sessionup - シンプルでありながら効果的な HTTP セッション管理および識別パッケージ.
-
signedvalue - Tornado の
create_signed_value
,decode_signed_value
,set_secure_cookie
,get_secure_cookie
と互換性のある署名されたタイムスタンプ文字列. - sjwt - シンプルな JWT ジェネレーター及びパーサー.
ボット開発
ボットを開発・実行するためのライブラリ.
- go-chat-bot - Go で書かれたIRC, Slack & Telegram ボット.
- go-sarah - LINE, Slack, Gitter などの希望のチャットサービス用のボットを構築するためのフレームワーク.
- go-tgbot - 純粋な Golang Telegram Bot API ラッパーは, スワッガーファイル, セッションベースのルーターとミドルウェアから生成されます.
- Golang CryptoTrading Bot - 暗号通貨交換のためのコンソールベースの取引ボットの実装.
- govkbot - シンプルな Go VK bot ライブラリ.
- hanu - Slack ボットを書くためのフレームワーク.
- Kelp - Stellar DEX の公式トレーディングおよびマーケットメイキングボット. Golang で書かれており, 一元管理された取引所およびカスタム取引戦略と互換性があり, そのまま使用できます.
- margelet - Telegram ボットを構築するためのフレームワーク.
- micha - Telegram bot API の Go ライブラリ.
- slacker - Slack ボットを作成するための使いやすいフレームワーク.
- slackscot - もう一つの Slack Bot 構築フレームワーク.
- tbot - net/http に似た API を使用した Telegram bot サーバー.
- telebot - Telegram ボットフレームワーク.
- telegram-bot-api - シンプルでクリーンな Telegram ボットクライアント.
- Tenyks - メッセージングに Redis と JSON を使用したサービス指向の IRC ボット.
コマンドライン
スタンダード CLI
標準または基本コマンドラインアプリケーションを構築するためのライブラリ.
- argparse - Python の argparse モジュールに触発されたコマンドライン引数パーサー.
- argv - bash 構文を使用して, 引数配列としてコマンドライン文字列を分割するライブラリ.
- cli - Golang タグに基づいた, 機能が豊富で使いやすいコマンドラインパッケージ.
- cli - Go でコマンドラインインターフェイスを構築するためのシンプルで完全な API.
- cli-init - Golang コマンドラインアプリケーションをかんたんに構築できる.
- climax - Go コマンドの精神で, "人間の顔" を持つ代替 CLI.
- cmdr - POSIX/GNU スタイル, getopt のようなコマンドライン UI Go ライブラリ.
- cobra - モダンな Go CLI インタラクションのための Commander.
- commandeer - デベロッパ向けの CLI アプリケーション:構造体のフィールドとタグに基づいてフラグ, デフォルト, および使用法を設定します.
- complete - Go の bash 補完 + Go コマンドの bash 補完.
- Dnote - 開発者向けのシンプルでエンドツーエンドの暗号化されたノートブック.
- docopt.go - あなたを笑顔にするコマンドライン引数パーサー.
- env - 構造体のタグベースの環境設定.
- flag - シンプルで強力なコマンドラインオプション解析ライブラリで, サブコマンドもサポートしています.
- flaggy - 優れたサブコマンドをサポートする堅牢で慣用的なフラグパッケージ.
-
flagvar - Go の標準
flag
パッケージのフラグ引数型のコレクション. - go-arg - Go での構造体ベースの引数解析.
- go-commander - CLI ワークフローを単純化する Go ライブラリ.
- go-flags - コマンドラインオプションパーサー.
-
go-getoptions - Go オプションパーサーは, Perl の
GetOpt::Long
の柔軟性に触発されました. - gocmd - コマンドラインアプリケーションのためのライブラリ.
- hiboot cli - 自動設定と依存注入を備えた CLI アプリケーションフレームワーク.
- job - 短期コマンドを長期ジョブとして作成します.
- kingpin - サブコマンドをサポートするコマンドラインとフラグパーサー.
- liner - コマンドラインインターフェイス用の readline ライクなライブラリ.
- mitchellh/cli - コマンドラインインターフェイスを実装するための Go ライブラリ.
- mow.cli - 洗練されたフラグと引数の解析と検証を使用して, CLI アプリケーションを構築するための Go ライブラリ.
- ops - Unikernel ビルダー/オーケストレーター.
-
pflag - POSIX/GNU スタイルの
--flags
を実装している, Go のフラグパッケージの代わりとなるドロップイン. - readline - 純粋な Golang による実装で, MIT ライセンスの下で GNU-Readline のほとんどの機能を提供します.
- sand - インタプリタなどなどを作成できるシンプルな API.
- sflags - flag, urfave/cli, pflag, cobra, kingpin, その他のライブラリ用の, 構造ベースのフラグジェネレータ.
- strumt - プロンプトチェーンを作成するライブラリ.
- ts - タイムスタンプ変換・比較ライブラリ.
- ukautz/clif - 小さなコマンドラインインタフェースフレームワーク.
- urfave/cli - Go (以前は codegangsta/cli) でコマンドラインアプリケーションを構築するためのシンプルかつ高速で楽しいパッケージ.
- wlog - クロスプラットフォームのカラーと並行処理をサポートするシンプルなロギングインターフェイス.
- wmenu - ユーザーに選択を促す, CLI アプリケーション用の使いやすいメニュー構造.
高度なコンソール UI
コンソールアプリケーションとコンソールユーザーインターフェイスを構築するためのライブラリ.
- asciigraph - 軽量のASCII折れ線グラフ ╭┈╯ を他の依存関係のないコマンドラインアプリケーションで作成するためのパッケージ.
- aurora - fmt.Printf/Sprintf をサポートする, ANSI ターミナルカラー.
- cfmt - bootstrap color classes に触発された fmt.
- chalk - ターミナル/コンソールの出力を見やすくする直感的なパッケージ.
- colourize - ターミナルで ANSI カラーテキストを使用するためのライブラリ.
- ctc - 非侵入型クロスプラットフォームターミナルカラーライブラリで, Print メソッドを変更そのまま使用できます.
- go-ataman - ターミナルに ANSI カラーのテキストテンプレートをレンダリングするための Go ライブラリ.
- go-colorable - Windows 用のカラーテキストライター.
- go-colortext - ターミナルでカラフルな出力をするための Go ライブラリ.
- go-isatty - Go の isatty.
- go-prompt - python-prompt-toolkit に触発された強力な対話型プロンプトを構築するためのライブラリ.
- gocui - コンソールユーザインタフェースの作成を目的とした最小限の Go ライブラリ.
- gommon/color - スタイルターミナルテキスト.
- gookit/color - ターミナル カラー レンダリング ツール ライブラリ. 16 カラー, 256 カラー, RGB カラーをサポートし, Windows との互換性もあります.
- mpb - ターミナルアプリケーションのためのマルチプログレスバー.
- progressbar - すべての OS で動作する基本的なスレッドセーフなプログレスバー.
- simpletable - ターミナル上にシンプルなテーブルを表示できる.
- tabby - スーパーシンプルな Go テーブル用の小さなライブラリ.
- tabular - 大量のデータセットを API に渡すことなく, コマンドラインユーティリティから ASCII テーブルを出力できます.
- termbox-go - Termbox はクロスプラットフォームテキストベースインターフェースを提供するためのライブラリです.
- termdash - termui にインスパイアされ, termbox-go を基礎とした Go ターミナルダッシュボード.
- termtables - 単純なASCIIテーブルの生成と, Markdown 及び HTML 出力のための Ruby ライブラリである terminal-tables の Go ポート.
- termui - blessed-contrib にインスパイアされ, termbox-go を基礎とした Go ターミナルダッシュボード.
- uilive - リアルタイムにターミナル出力を更新するためのライブラリ.
- uiprogress - ターミナルアプリケーションでプログレスバーをレンダリングするための柔軟なライブラリ.
- uitable - 表形式のデータを使用して端末アプリの可読性を向上させるライブラリ.
コンフィグレーション
設定ファイル解析のためのライブラリ.
- config - クラウドネイティブアプリケーションの設定. ENV をたった2行の構造体にバインドします.
- config - JSON または YAML 構成ラッパー. 環境変数とフラグの解析.
- configure - JSON, フラグ, 環境変数など, 複数のソースを使用した設定が可能です.
- confita - 複数のバックエンドから構造体にカスケードする構成をロードします.
- conflate - 任意の URL から複数の JSON/YAML/TOML ファイルをマージするライブラリ/ツール. JSON スキーマに対する検証, およびスキーマで定義されたデフォルト値の適用も行えます.
- env - 環境変数を解析し, Go 構造体にします.
- envcfg - Go 構造体への環境変数の非マーシャリング.
- envconf - 環境からの設定.
- envconfig - 環境変数から設定を読み込みます.
- envh - 環境変数を管理するためのヘルパー.
- gcfg - INI 形式の設定ファイルを Go 構造体に読み込みます. ユーザー定義の型とサブセクションをサポートします.
- genv - dotenv サポートを使用して, 環境変数を簡単に読み取ります.
- go-up - 再帰的なプレースホルダ解決を持つ単純な構成ライブラリ.
- goConfig - 入力として解析して構造体とし, この構造体のフィールドに, コマンドラインパラメータ, 環境変数, および設定ファイルを設定します.
-
godotenv - Ruby の dotenv ライブラリ (
.env
から環境変数を読み込みます) の Go ポート. - gofigure - Go アプリケーションの設定をかんたんにします.
- gone/jconf - モジュラーな JSON 構成. あなたが設定したコードに沿って, 設定構造を保持し, 設定のフルシリアル化を犠牲にすることなく, 解析をサブモジュールに委譲します.
- gookit/config - アプリケーション構成管理 (ロード, 取得, 設定). JSON, YAML, TOML, INI, HCL をサポートします. マルチファイル読み込み, データオーバーライド, マージ等の機能があります.
- harvester - シードおよび環境変数と Consul 統合をサポートする使いやすい静的および動的構成パッケージ.
- hjson - Human JSON は, 人間のための設定ファイル形式です. 構文が緩和され, 間違いが少なくなり, コメントが増えます.
- ingo - INI ライクな設定ファイルでフラグを保持します.
- ini - INI ファイルを読み書きするためのパッケージ.
- joshbetz/config - 環境変数, JSONファイル, SIGHUP を自動再読込し, 解析するための小さな環境設定ライブラリです.
- kelseyhightower/envconfig - 環境変数から設定データをマネージするための GO ライブラリ.
- koanf - Go アプリケーションの設定を読み込むための軽量で拡張可能なライブラリ. JSON, TOML, YAML, env, コマンドラインの組み込みサポート.
- konfig - 分散処理時代の Go の構成可能, 監視可能, およびパフォーマンスの構成処理.
- mini - INI スタイルの設定ファイルを解析するための Golang パッケージ.
- nasermirzaei89/env - シンプルで便利な環境変数読みとりパッケージ.
- sprbox - ビルド環境を意識したツールボックス・ファクトリとパーサ (YAML, TOML, JSON 環境変数).
- store - 軽量な設定マネージャ.
- viper - fangs を使用した設定.
- xdg - XDG Standard に従った, クロスプラットフォームパッケージ.
継続的インテグレーション
継続的インテグレーションのためのツール.
- drone - Drone は, Docker に基づいて構築された継続的インテグレーションプラットフォームであり, Go で書かれています.
- duci - シンプルな CI サーバー.
- gomason - ワークスペースから go バイナリをテスト, ビルド, 署名, 公開します.
- goveralls - Coveralls.io 連続コードカバレッジ追跡システムの Go インテグレーション.
- overalls - goveralls ライクな, マルチパッケージ Go プロジェクトコードカバレッジツール.
- roveralls - 再帰カバレッジテストツール.
CSS プリプロセッサ
CSS ファイルを前処理するためのライブラリ.
- gcss - 純粋な Go CSS プリプロセッサ.
- go-libsass - 100% Sass 互換の libsass プロジェクト Go ラッパー.
データ構造
Go の一般的なデータ構造とアルゴリズム.
- algorithms - アルゴリズムとデータ構造. CLRS 研究.
- binpacker - バイナリパッカーとアンパッカーは, ユーザーがカスタムバイナリストリームを構築するのに役立ちます.
- bit - Golang にボーナスビットツイリング機能を備えたデータ構造を与えます.
- bitset - bitsets を実装した Go パッケージ.
- bloom - Go で実装されたブルームフィルタ.
- bloom - Golang Bloom フィルタ実装.
- boomfilters - 無限の連続ストリームを処理するための確率的データ構造.
-
concurrent-writer -
bufio.Writer
の並行置換を並行して行います. - conjungo - 小さく, パワフルで, 柔軟なマージライブラリ.
- count-min-log - Count-Min-Log sketch の Go での実装: おおよそのカウンターで概算します (Count-Min sketche と似ていますが, メモリー使用量は少ないです).
- crunch - さまざまなデータ型を簡単に処理するためのバッファの実装.
- cuckoofilter - Cuckoo フィルタ: Go で実装されたカウント用ブルームフィルターの良い代替品です.
- deque - 高度に最適化された両端キュー.
- deque - 高速リングバッファデキュー (両端キュー).
- dict - Go の Python ライクな辞書 (dict).
- encoding - 整数圧縮ライブラリ.
- go-adaptive-radix-tree - 適応基数ツリーの Go 実装.
- go-datastructures - 有用かつ, 実行可能, スレッドセーフなデータ構造の集合.
- go-ef - Elias-Fano エンコーディングの Go 実装.
- go-geoindex - インメモリジオインデックス.
- go-mcache - 高速なインメモリ キー・バリュー ストア/キャッシュライブラリ.
- go-rquad - 効率的なポイント位置とその周辺住所を有する地域のクオッドツリー.
- gocache - 複数のストア (メモリ, memcache, redis など), チェーン可能, ロード可能, メトリックキャッシュなどを備えた完全な Go キャッシュライブラリ.
- goconcurrentqueue - 同時 FIFO キュー.
- gods - Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet などの Go データ構造.
- gofal - ファンクショナル API.
- golang-set - スレッドセーフとスレッドセーフでない高性能な Go の Sets.
- goset - Go 用の便利な Set コレクション実装.
- goskiplist - Goのスキップリストの実装.
- gota - dataframes, series, そして Data wrangling 処理の Go 実装.
- hide - クライアントに ID が送信されないようにするための, ハッシュとのマーシャリング付き ID タイプ.
- hilbert - Hilbert や Peano カーブなどの空間充填曲線との間で値をマッピングするためのパッケージ.
- hyperloglog - Sparse, LogLog-Beta のバイアス修正と TailCut のスペース削減による HyperLogLog の実装.
- levenshtein - レーベンシュタイン距離と類似性のメトリック, カスタマイズ可能な編集コスト, Winkler のような共通プレフィックスのボーナス.
- levenshtein - Go でのレーベンシュタイン距離の計算.
- mafsa - Minimal Perfect Hashing による MA-FSA の実装.
- merkletree - データ構造の内容の効率的で安全な検証を提供する Merkle ツリーの実装.
- mspm - マルチストリングパターンマッチングアルゴリズム.
- null - JSON との間でマーシャリング/アンマーシャリングできる Nullable Go types.
- parsefields - 一意のフィールドとイベントを収集するための JSON のようなログを解析するツール.
- pipeline - fan-in, fan-out を使用したパイプラインの実装.
- ptrie - プレフィックスツリーの実装.
- remember-go - データをキャッシュするためのユニバーサルインターフェイス.
- ring - 高性能のスレッドセーフブルームフィルタの実装.
- roaring - 圧縮ビットセットを実装する Go パッケージ.
- set - Go の LinkedHashMap を用いて実装された単純なデータ構造体のセット.
- skiplist - 非常に高速な Skiplist の Go 実装.
- skiplist - Skiplist の Go 実装.
- timedmap - キー・バリューのペアによるマップ.
- treap - ツリーヒープを使用した永続的で高速な順序付きマップ.
- trie - Trie の Go 実装.
- ttlcache - Golang の有効期限付きインメモリ LRU string-interface{} マップ.
- typ - NULL 型, 安全なプリミティブ型変換, および複雑な構造からの値の取得.
- willf/bloom - Bloom フィルタを実装する Go パッケージ.
データベース
データベース実装.
- badger - 高速なキー・バリュー・ストア.
- bcache - 分散型インメモリキャッシュ Go ライブラリ.
- BigCache - ギガバイトのデータに対する効率的なキー/バリューキャッシュ.
- Bitcask - Bitcask は, ビットキャスクのオンディスクレイアウト (LSM + WAL) のおかげで, 予測可能な読み取り/書き込みパフォーマンス, 低レイテンシ, 高スループットを備えた, 純粋な Go で記述された埋め込み可能な永続的かつ高速なキーバリュー (KV) データベースです.
- bolt - 低レベルなキー/バリューデータベース.
- buntdb - 高速で, 組み込み可能な, カスタムインデックスとスペーシングをサポートした Go のためのインメモリ・キー/バリューデータベース.
- cache - メモリ内のキー/バリューストア:有効期限, 依存関係 0, <100 LoC, カバレッジ 100%.
- cache2go - タイムアウトに基づいて自動無効化をサポートするキー/バリューキャッシュ.
- clusteredBigCache - クラスタリングのサポートと個々のアイテムの有効期限を持つ BigCache.
- cockroach - スケーラブルで, Geo-Replicated なトランザクション・データストア.
- couchcache - Couchbase サーバーを裏に持つ RESTful なキャッシュ・マイクロサービス.
- CovenantSQL - CovenantSQL はブロックチェーンを用いた SQL データベースです.
- dgraph - スケーラブルで分散型, 低レイテンシ, ハイスループットのグラフデータベース.
- diskv - 自社製のディスクバックアップ型のキー/バリューストア.
- eliasdb - REST API, フレーズ検索, SQL ライクなクエリ言語を使用した依存関係のないトランザクショングラフデータベース.
- fastcache - 多数のエントリに対するスレッドセーフな高速メモリキャッシュです.GC のオーバーヘッドを最小限に抑えます.
- GCache - Expired Cache, LFU, LRU, および ARC をサポートするキャッシュライブラリ.
- go-cache - 単一マシンアプリケーションに適した, インメモリ・キー/バリュー・ストア/キャッシュ (Memcached に似ています) の Go 用ライブラリです.
- goleveldb - Go による LevelDB 実装.
- gorocksdb - Gorocksdb は Go で書かれた [RocksDB] (https://rocksdb.org) のラッパーです.
- groupcache - Groupcache は, memcached を置き換えるための, キャッシュとキャッシュを満たすライブラリです.
- influxdb - メトリック, イベント, およびリアルタイム解析のためのスケーラブルなデータストア.
- Kivik - Kivik は, CouchDB, PouchDB, および同様のデータベースに共通の Go および GopherJS クライアントライブラリを提供します.
- ledisdb - Ledisdb は LevelDB に基づく Redis のような高性能な NoSQL です.
- levigo - Levigo は LevelDB の Go ラッパーです.
- moss - Moss は 100% Go で書かれたシンプルな LSM キー/バリュー・ストレージ・エンジンです.
- nutsdb - Nutsdb は, 純粋なGoで書かれた, シンプルで高速, 埋め込み可能な, 永続的なキー/バリューストアです. 完全に直列化可能なトランザクションとリスト, セット, ソートセットのような多くのデータ構造をサポートします.
- piladb - スタックデータ構造に基づいた, 軽量な REST-ful なデータベース・エンジン.
- prometheus - 監視システムと時系列データベース.
- pudge - Go の標準ライブラリを使って書かれた, 速くて簡単なキー/バリューストア.
- rqlite - SQLite 上に構築された, 軽量で分散したリレーショナル・データベースです.
- Scribble - 小さなフラットファイル JSON ストア.
- slowpoke - 永続性を持つキー・バリュー ストア.
- tempdb - 一時的なアイテムを保管するためのキー/バリューストア.
- tidb - TiDB は分散 SQL データベースです. Google F1 のデザインに触発されました.
- tiedot - Golang による NoSQL データベース.
- Vasto - 分散された高性能のキー/バリューストア. ディスク上. 最終的な一貫性. HA. サービスを中断することなく拡張または縮小することができます.
- VictoriaMetrics - 高速でリソース効率が良く, スケーラブルなオープンソースの時系列データベース. Prometheus の長期リモートストレージとして使用できます. PromQL をサポートします.
データベース・スキーマ・マイグレーション
- avro - SQL スキーマを見つけて, それらを AVRO スキーマに変換します. SQLレコードを AVRO バイトに問い合わせます.
- darwin - Go 用のデータベーススキーマ進化ライブラリ.
- go-fixtures - Golang の優れた組み込みデータベース/SQL ライブラリ用の Django スタイルのフィクスチャ.
- go-pg-migrations - go-pg/pg を使ってマイグレーションを書くのに役立つ Go パッケージ.
- gondolier - 構造体デコレータを使用したデータベース移行ライブラリ.
- goose - データベース・マイグレーション・ツール. 増分 SQL または Go スクリプトを作成することによって, データベースの進化を管理できます.
- gormigrate - Gorm ORM のデータベーススキーマ・マイグレーション・ヘルパー.
- migrate - データベース・マイグレーション. CLI と Golang で使えるライブラリ.
- migrator - 完全にシンプルなGoデータベースマイグレーションライブラリ.
- pravasan - シンプルなマイグレーション・ツール - 現在は MySQL 向けですが, Postgres, SQLite, MongoDB などをすぐにサポートする予定です.
- schema - Go バイナリ内にデータベース/ SQL 互換データベースのスキーママイグレーションを埋め込むライブラリ.
- skeema - シャーディングおよび外部オンラインスキーマ変更ツールをサポートする, MySQL 用の Pure-SQL スキーマ管理システム.
- soda - MySQL, PostgreSQL, および SQLite 用のデータベースの移行, 作成, ORM など.
- sql-migrate - データベース移行ツール. go-bindata を使用してアプリケーションにマイグレーションを組み込むことを可能にする.
データベースツール
- bucket - 1つのバケットの使用に特化した Couchbase 用に最適化されたデータ構造フレームワーク.
- chproxy - ClickHouse データベースのための HTTP プロキシ.
- clickhouse-bulk - 小さなインストラクターを集め, ClickHouse サーバーに大きなリクエストを送信します.
- datagen - マルチテーブルを認識し, multi-row DML をサポートする高速データジェネレーター.
- dbbench - いくつかのデータベースとスクリプトをサポートするデータベースベンチマークツール.
- go-mysql - MySQL プロトコルとレプリケーションを処理するためのツールセット.
- go-mysql-elasticsearch - 自動的にあなたの MySQL データを Elasticsearch に同期させます.
- kingshard - kingshard は, Golang が提供する MySQL の高性能プロキシです.
- myreplication - MySQL バイナリログレプリケーションリスナサポート文と行ベースのレプリケーション.
- octillery - シェアーディングデータベース用のパッケージ (すべての ORM または生の SQL をサポートします).
- orchestrator - MySQL レプリケーション・トポロジ・マネージャ&ビジュアライザー.
- pgweb - Web ベースの PostgreSQL データベースブラウザ.
- prep - コードを変更せずに準備された SQL 文を使用する.
- pREST - PostgreSQL データベースから REST-ful な API を提供する.
- vitess - vitess は, 大規模な Web サービス用の MySQL データベースのスケーリングを容易にするサーバーとツールを提供します.
SQL クエリビルダー, SQL の構築と使用のためのライブラリ
- dbq - ゼロボイラープレートのデータベース操作.
- Dotsql - SQL ファイルを, 1 か所に保存して簡単に使用できる Go ライブラリ.
- gendry - 非侵略的な SQL ビルダーと強力なデータバインダー.
- goqu - 慣習的な SQL ビルダーとクエリライブラリ.
- igor - 高度な機能をサポートし, gorm のような構文を使用する PostgreSQL の抽象レイヤー.
- jet - Go でタイプセーフな SQL クエリを記述するためのフレームワーク. データベースクエリの結果を目的の任意のオブジェクト構造に簡単に変換できます.
- ormlite - SQLite のための ORM のような機能とヘルパーを含んだ軽量なパッケージ.
- ozzo-dbx - 強力なデータ検索方法と, DB に依存しないクエリ構築機能.
- scaneo - データベースを任意の構造体に変換する Go コードを生成します.
- sqlf - 高速な SQL クエリビルダー.
- sqrl - SQL クエリービルダー, 改良された性能を持つ Squirrel のフォーク.
- Squalus - Go SQL パッケージの上に薄い層を作成することで, クエリの実行が容易になります.
- Squirrel - SQL クエリを構築するのに役立つ Go ライブラリ.
- xo - PostgreSQL, MySQL, SQLite, Oracle, および Microsoft SQL Server をサポートする, 既存のスキーマ定義またはカスタムクエリに基づいて, データベース用の慣用 Go コードを生成する.
データベースドライバ
データベースの接続と操作のためのライブラリ.
リレーショナル・データベース
- avatica - Apache Avatica/Phoenix SQL ドライバ.
- bgc - BigQuery データベースコネクタ.
- firebirdsql - Firebird RDBMS SQL ドライバ.
- go-adodb - Microsoft ActiveX Object DataBaseドライバを使用してデータベース/SQL を使用する.
- go-mssqldb - Microsoft MSSQL ドライバ.
- go-oci8 - データベース/SQL を使用するための Oracle ドライバ.
- go-sql-driver/mysql - MySQL ドライバ.
- go-sqlite3 - データベース/SQL を使用するための SQLite3 ドライバ.
- gofreetds Microsoft MSSQL ドライバ. FreeTDS の Go ラッパー.
- pgx - データベース/SQL で公開されている機能を超える機能をサポートしているのが特徴の, PostgreSQLドライバ.
- pq - 純粋な Go で書かれた Postgres ドライバ.
NoSQL データベース
- aerospike-client-go - Aerospike クライアント.
- arangolite - 軽量な ArangoDB ドライバ.
- asc - Aerospike データベース・コネクタ.
- dynago - Dynago は DynamoDB のための最も驚くべきクライアントです.
- forestdb - ForestDB の Go バインディング.
- go-couchbase - Couchbase クライアント.
- go-pilosa - Pilosa 用のクライアントライブラリ.
- go-rejson - Redigo クライアントを使用した redislabs の ReJSON モジュール用の Goクライアント. Redis で構造体を簡単に JSON オブジェクトとして保存および操作する.
- gocb - 公式の Couchbase Go SDK.
- gocql - Apache Cassandra ドライバ.
- godscache - memcached を使用してキャッシュを追加する Google Cloud Platform Go Datastore パッケージのラッパー.
- gomemcache - memcache クライアントライブラリ.
- gorethink - RethinkDB ドライバ.
- goriak - Riak KV ドライバ.
- mgo - Go の標準的なイディオムに従う非常にシンプルな API で, 豊富で, よくテストされた機能を実装する, Go 言語の MongoDB ドライバ.
- mongo-go-driver - 公式の MongoDB ドライバ.
- neo4j - Neo4j Rest API バインディング.
- Neo4j-GO - Neo4j REST クライアント.
- neoism - Neo4j クライアント.
- redeo - Redis プロトコル互換の TCP サーバ/サービス.
- redigo - Redigo は Redis データベースの Go クライアントです.
- redis - Redis クライアント.
- xredis - タイプセーフ, カスタマイズ可能, クリーンで使いやすい Redis クライアント.
検索データベースと分析データベース
- bleve - 最新のテキスト索引作成ライブラリ.
- elastic - Elasticsearch クライアント.
- elasticsql - SQL を Elasticsearch DSL に変換します.
- elastigo - Elasticsearch クライアントライブラリ.
- go-elasticsearch - 公式の Elasticsearch クライアント.
- goes - Elasticsearch とやりとりするライブラリ.
- riot - Go オープンソース, 分散, シンプルで効率的な検索エンジン.
- skizze - 確率的なデータ構造のサービスとストレージ.
複数バックエンド
- cachego - 複数のドライバ用の Golang Cache コンポーネント.
- cayley - マルチ・バックエンドをサポートしたグラフデータベース.
- dsc - SQL, NoSQL, 構造化ファイルのデータストア接続.
- gokv - Go 用の単純なキー/バリューストアの抽象化と実装 (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB など).
日付と時間
日時を扱うためのライブラリ.
- carbon - PHP から移植された, 多くの util メソッドを持つシンプルな時間拡張 Carbon ライブラリ.
- date - 時間日付計算, 日付範囲, 時間間隔, 期間, および時刻を扱うための時間.
- dateparse - 事前にフォーマットを知らなくても日付を解析できます.
- durafmt - Go 用の時間枠書式設定ライブラリ.
- feiertage - ドイツの祝祭日を計算する関数のセット. ドイツ (Bundesländer) 州の専門化. イースター, Pentecoast, 感謝祭のようなもの...
- go-persian-calendar - Go (golang) の Persian (Solar Hijri) カレンダーの実装.
- go-sunrise - 特定の場所の日の出時間と日没時間を計算します.
- goweek - Golang の week エンティティを操作するためのライブラリ.
- iso8601 - ISO8601 の日付時刻を正規表現なしで効率的に解析します.
- kair - 日時の Go 言語フォーマットライブラリ.
- now - Now は Go のタイムツールキットです.
-
NullTime - Null 許容の
time.Time
. - strftime - C99 互換の strtime フォーマッター.
- timespan - 定義された開始時間および持続時間と対話するために.
- timeutil - Go の Time パッケージに役立つ拡張機能 (Timedelta, Strftime, ...).
- tuesday - Ruby と互換性のある Strftime 関数.
分散システム
分散システムの構築に役立つパッケージ.
- celeriac - Go で Celery のワーカー, タスク, イベントを操作および監視するためのサポートを追加するためのライブラリ.
- consistent - 負荷制限による一貫したハッシング.
- dht - BitTorrent Kademlia DHT 実装.
- digota - grpc E-コマースマイクロサービス.
- dot - オペレーショナル・トランスフォーメーション (OT) を使用した分散同期.
- doublejump - 改良された Google の一貫性のあるハッシュ.
- dragonboat - Go の完全かつ高性能なマルチグループ Raft ライブラリ機能.
- drmaa - DRMAA 標準に基づくクラスタスケジューラ用のジョブサブミッションライブラリ.
- dynamolock - DynamoDB に支援された分散ロック実装.
- dynatomic - アトミックカウンターとして DynamoDB を使用するためのライブラリ.
- emitter-io - MQTT, Web ソケット, および love で構築された, 高性能, 分散, 安全で低遅延のパブリッシュ/サブスクライブ・プラットフォーム.
- flowgraph - flow ベースのプログラミングパッケージ.
- gleam - Go の高い並行性と Luajit の高性能を組み合わせた, 純粋な Go と Luajit で書かれた高速でスケーラブルな分散マップ/縮小システム. スタンドアロンまたは分散動作します.
- glow - 使いやすいスケーラブルな大規模データ処理, Map-Reduce, DAG 実行をすべて純粋な Go で実行できます.
- go-health - サービス内の非同期依存性ヘルスチェックを有効にするライブラリ.
-
go-jump - Google の
Jump
ハッシュ関数のポート. - go-kit - サービス発見, ロードバランシング, プラガブル・トランスポート, リクエスト・トラッキングなどをサポートするマイクロサービス・ツールキット.
- go-sundheit - 非同期サービスヘルスチェックを定義するためのサポートを提供するために構築されたライブラリ.
- gorpc - 高負荷用のシンプルで高速かつスケーラブルな RPC ライブラリ.
- lore - Go のシンプルで軽量な擬似 ORM/擬似構造体マッピング環境
- grpc-go - gRPC の Go 言語実装. HTTP/2 ベースの RPC.
- heimdall - 再試行機能と hystrix 機能を備えたエンハンスド HTTP クライアント.
- hprose - 非常に新しい RPC ライブラリで, 現在 25 以上の言語をサポートしています.
- jsonrpc - jsonrpc パッケージは, JSON-RPC 2.0 の実装を支援します.
- jsonrpc - JSON-RPC 2.0 HTTP クライアント実装.
- KrakenD - ミドルウェアを搭載した超高性能 API ゲートウェイ・フレームワーク.
- liftbridge - NATS の軽量なフォールトトレラントメッセージストリーム.
- micro - プラガブルなマイクロサービス・ツールキットと分散システム・プラットフォーム.
- NATS - マイクロサービス, IoT, クラウド・ネイティブ・システム用の軽量で高性能なメッセージングシステムです.
- outboxer - Outboxer は, 送信トレイパターンを実装する Go ライブラリです.
- pglock - PostgreSQL が支援する分散ロック実装.
- raft - HashiCorp による Raft コンセンサスプロトコルの Golang 実装.
- raft - CoreOS による Raft コンセンサスプロトコルの実装.
- rain - BitTorrent クライアント/ライブラリ.
-
redis-lock - Redis を使用した簡易分散ロックの実装.
- resgate - すべてのクライアントがシームレスに同期される REST, リアルタイム, およびRPC APIを構築するためのリアルタイム API ゲートウェイ.
- ringpop-go - Go アプリケーションのスケーラブルでフォールトトレラントなアプリケーション層シャーディング.
- rpcx - alibaba Dubbo のような分散プラガブル RPC サービスフレームワーク.
- sleuth - マスターレスの P2P 自動検出と, HTTP サービス間の RPC ZeroMQ を使用したライブラリ.
- tendermint - 任意のプログラミング言語で書かれたステートマシンを, Tendermint コンセンサスおよびブロックチェーンプロトコルを使用してビザンチン・フォールト・トレラント複製ステートマシンに変換するための高性能ミドルウェア.
- torrent - BitTorrent クライアントパッケージ.
電子メールの作成と送信を実装するライブラリ及びツール.
- chasquid - Go で書かれた SMTP サーバー.
- douceur - HTML 電子メールのための CSS linter.
- email - 堅牢で柔軟な Go の電子メールライブラリ.
- go-dkim - 電子メール用の署名と検証のための DKIM ライブラリ.
- go-imap - クライアントとサーバのための IMAP ライブラリ.
- go-message - インターネットメッセージフォーマットとメールメッセージ用のストリーミングライブラリ.
- go-premailer - Go での HTML メールのインラインスタイル.
- go-simple-mail - Connect と Send でメールを送信するための非常にシンプルなパッケージ.
- Gomail - シンプルで強力なメール送信ライブラリ.
- Hectane - HTTP API を提供する, 軽量な SMTP クライアント.
- hermes - クリーンで反応性の高い HTML 電子メールを生成する Golang パッケージ.
- mailgun-go - Mailgun API でメールを送信するための Go ライブラリ.
- MailHog - ウェブと API インターフェースによる電子メールと SMTP テスト.
- SendGrid - 電子メールを送信する SendGrid の Go ライブラリ.
- smtp - SMTP サーバー・プロトコル・ステート・マシン.
埋め込み可能なスクリプト言語
Go コード内に他の言語を埋め込む.
- agora - Go に動的に型付けされた, 埋め込み可能なプログラミング言語.
- anko - Go で書かれたスクリプトインタープリタ.
- binder - gopher-lua をベースとした, Go の Lua バインディング.
- cel-go - 段階的タイピングによる高速で移植可能な非チューリング式の完全な評価.
- expr - 式評価エンジン.
- gentee - 埋め込み可能なスクリプト言語.
- gisp - シンプルな LISP.
- go-duktape - Duktape JavaScript エンジンの Go バインディング.
- go-lua - Lua 5.2 VM のポート.
- go-php - PHP バインディング.
- go-python - CPython C-API の, ネイティブ Go バインディング.
- golua - Lua C API の Go バインディング.
- gopher-lua - Go によって書かれた, Lua 5.1 VM とコンパイラ.
- gval - 高度にカスタマイズ可能な Go で書かれた言語.
- ngaro - Retro でのスクリプティングを可能にする, 組み込み可能な Ngaro VM 実装.
- otto - Go によって書かれた, JavaScript インタプリタ.
- purl - Go に埋め込まれた Perl 5.18.2.
- tengo - Go のためのスクリプト言語.
エラーハンドリング
エラーハンドリングのためのライブラリ.
- emperror - Go ライブラリとアプリケーションのエラー処理ツールとベストプラクティス.
- errlog - エラーの原因となっているソースコード (およびその他の高速デバッグ機能) を決定するハッカブルパッケージ. その場で任意のロガーに追加可能です.
- errors - プリミティブなエラー処理を提供するパッケージ.
- errors - 分類プリミティブを使用したシンプルななエラー処理.
- errorx - スタックトレース, エラーの構成などを含む機能豊富なエラーパッケージ.
- Falcon - エラー処理用のシンプルでありながら非常に強力なパッケージ.
- go-multierror - エラーのリストを単一のエラーとして表示する Go パッケージ.
- tracerr - スタックトレースとソースフラグメントによる Golang errors.
- werr - Go でエラータイプのラッパーを作成し, 呼び出された場所のファイル, ライン, スタックをキャプチャします.
ファイル
ファイルとファイルシステムを扱うためのライブラリ.
- afero - Go 用のファイルシステム抽象化システム.
- afs - Goの抽象ファイルストレージ (mem, scp, zip, tar, cloud: s3, gs).
- bigfile - ファイル転送システム, http api, rpc 呼び出し, および ftp クライアントでのファイルを管理をサポート.
- checksum - 大きなファイルの場合, MD5 や SHA256 などのメッセージダイジェストを計算します.
- flop - GNU cp と機能の同等性を反映することを目的としたファイル操作ライブラリ.
- go-csv-tag - タグを用いて, CSV ファイルを読み込む.
- go-decent-copy - 人間のためのファイルコピー.
- go-exiftool - ExifTool の Go バインディング. ファイル (写真, PDF, オフィスなど) から可能な限り多くのメタデータ (EXIF, IPTCなど) を抽出するために使用される有名なライブラリ.
- go-gtfs - gtfs ファイルを Go で読み込む.
- notify - os/signal に似た簡単な API を持つファイルシステムイベント通知ライブラリ.
- opc - Open Packaging Conventions (OPC) ファイルをロードします.
- parquet - parquet の読み込み/書き込み.
- pdfcpu - PDF プロセッサ.
- skywalker - 同時にファイルシステムを簡単に通過できるようにするパッケージ.
- stl - STL (ステレオリソグラフィ) ファイルを読み書きするためのモジュール. 読み取りのための並行アルゴリズム.
-
tarfs - tar ファイルのための
FileSystem
interface の実装. - vfs - os, S3, GCS などさまざまな種類のファイルシステムに対応する, Go 用のプラグイン可能で, 拡張性のある, 一連のファイルシステム機能.
財務
会計および財務パッケージ.
- accounting - Golang の書式でお金と通貨を処理する.
- currency - 高性能で正確な通貨計算パッケージ.
- decimal - 任意精度の固定小数点 10 進数.
- go-finance - Go の包括的な金融市場データ.
- go-finance - 時価金額 (年価金額) , キャッシュフロー, 金利転換, 債券および償却計算のための財務機能のライブラリ.
- go-money - ファウラーのマネーパターンの実装.
- ofxgo - OFX サーバーを照会し, レスポンスを解析する (例:コマンドラインクライアント).
- orderbook - リミットオーダーブックのマッチングエンジン.
- techan - 高度な市場分析と取引戦略を備えたテクニカル分析ライブラリ.
- transaction - マルチスレッドモードで実行されているアカウントの組み込みトランザクションデータベース.
- vat - VAT 番号の確認と, EU VAT レート.
フォーム
フォームを扱うためのライブラリ.
- bind - フォームデータを任意の Go の値にバインドする.
- binding - net/http からのフォームと JSON データのバインドリクエスト.
- conform - ユーザーの入力をチェックします. struct タグに基づいてデータをトリミング, サニタイズ&スクラブします.
- form - url.Values を Go の値にデコードし, デコードはurl.Values に値を移動します. デュアルアレイとフルマップをサポートしています.
- formam - フォームの値を構造体にデコードする.
- forms - マルチパート・フォームとファイルをサポートする form/JSON データの解析と検証用のフレームワークに依存しないライブラリ.
- gorilla/csrf - Go ウェブアプリケーションとサービスのための CSRF プロテクション.
- nosurf - Go のための CSRF プロテクション・ミドルウェア.
関数プログラミング
- fpGo - モナド, 関数プログラミングの機能を Go 言語へ.
- fuego - Go の実験的機能.
- go-underscore - 有用な Go コレクションユーティリティの便利なコレクション.
ゲーム開発
素晴らしいゲーム開発ライブラリ.
- Azul3D - Go で書かれた 3D ゲームエンジン.
- Ebiten - シンプルな 2D ゲームライブラリ.
- engo - Engo は Go で書かれた, オープンソースの 2D ゲームエンジンです. Entity-Component-System パラダイムに従います.
- g3n - Go 言語で書かれた 3D ゲームエンジン.
- GarageEngine - OpenGL で動作する Go の 2D ゲームエンジン.
- glop - Glop (Game Library Of Power) は, とてもシンプルなクロスプラットフォームゲームライブラリです.
- go-astar - Go での A* 経路探索アルゴリズムの実装.
- go-collada - Collada ファイル形式のための Go パッケージ.
- go-sdl2 - Simple DirectMedia Layer の Go バインディング.
- go3d - Go のための, パフォーマンス指向 2D/3D 計算パッケージ.
- gonet - Go で実装されたゲームサーバースケルトン.
- goworld - 空間エンティティフレームワークとホットスワップを備えたスケーラブルなゲームサーバエンジン.
- Leaf - 軽量なゲームサーバフレームワーク.
- nano - 軽量, 設備, 高性能na, Golang ベースゲームサーバーフレームワーク.
- Oak - 純粋な Go で書かれた, ゲームエンジン.
- Pitaya - C SDK を使用した, iOS, Android, Unity などのクラスタリングサポートとクライアントライブラリを備えたスケーラブルなゲームサーバーフレームワーク.
- Pixel - Go の 2D ゲームライブラリ.
- raylib-go - raylib の Go バインディング. シンプルで使いやすく, かんたんにゲームプログラミングを学ぶことができます.
- termloop - Termbox 上で構築される, ターミナルベースのゲームエンジン.
ジェネレーション & ジェネリック
コード生成によるジェネリックのような機能を使って言語を強化するツール.
- efaceconv - 割り当てなしでインタフェース {} から不変型への高性能変換用のコード生成ツール.
- gen - 「ジェネリクス」のような機能のためのコード生成ツール.
- generis - ジェネリック, フリーフォームマクロ, 条件付きコンパイル, HTML テンプレートを提供するコード生成ツール.
- go-enum - コードコメントから列挙型のコード生成.
- go-linq - Go のための .NET LINQ のようなクエリメソッド.
- goderive - 入力型から関数を導出します.
- gotype - リフレクトパッケージのような使い方の Golangのソースコードの解析.
- GoWrap - 単純なテンプレートを使用して Go インタフェースのデコレータを生成します.
- interfaces - インターフェイス定義を生成するためのコマンドラインツール.
- jennifer - テンプレートなしで任意の Go コードを生成します.
- pkgreflect - パッケージスコープのリフレクション用プリプロセッサ.
ジオグラフィック
ジオグラフィックツールとサーバ.
- geocache - ジオロケーションベースのアプリケーションに適したメモリ内キャッシュ.
- geoserver - GeoServer REST API を使用して GeoServer インスタンスを操作するための Go パッケージです.
- gismanager - PostGIS と Geoserver に GIS データ (ベクターデータ) を公開します.
- osm - OpenStreetMap のデータと API を読み書きし, 操作するためのライブラリ.
- pbf - OpenStreetMap PBF golang エンコーダ/デコーダ.
- S2 geometry - S2 ジオメトリライブラリ.
- Tile38 - 空間インデックスとリアルタイム・ジオ・フェンシングを備えたジオ・ロケーション・データベース.
- WGS84 - 座標変換ライブラリ (ETRS89, OSGB36, NAD83, RGF93, Web メルカトル, UTM).
Go コンパイラ
Go 言語を他の言語にコンパイルするためのツール.
- c4go - C 言語を Go 言語へトランスパイルする.
- gopherjs - Go を JavaScript へ変換する.
- llgo - LLVM ベースコンパイラ.
- tardisgo - Golang から Haxe そして CPP/C#/Java/JavaScript へのトランスパイラー.
Goroutines
Goroutines を管理および使用するためのツール.
- ants - ハイパフォーマンスな goroutine プール.
- artifex - ワーカーベースのディスパッチを使用した Go のシンプルなインメモリジョブキュー.
- async - panic が発生しても回復することができる関数を非同期で実行するための安全な方法.
- breaker - 実行フローを中断可能にする柔軟なメカニズム. .
- cyclicbarrier - Golang のための CyclicBarrier.
- go-floc - Goroutines を簡単に編成する.
- go-flow - 実行順序を制御します.
- go-tools/multithreading - シンプルな API をもつ, この軽量のライブラリを使ってゴルーチンのプールを管理しましょう.
- go-trylock - リード・ライト ロックの TryLock をサポートします.
- gollback - クロージャとコールバックの実行を管理するための非同期シンプル関数ユーティリティ.
- gohive - Go 向けの高性能で使いやすい Goroutine プール.
- gollback - クロージャとコールバックの実行を管理するための非同期シンプル関数ユーティリティ.
- GoSlaves - シンプルな非同期 Goroutine プールライブラリ.
- goworker - goworker は Go ベースのバックグラウンドワーカーです.
- gowp - gowp は, 同時実行を制限する Goroutine プールです.
- gpool - 並行性を制限するために, コンテキスト対応 Goroutine のサイズ変更可能プールを管理します.
- grpool - 軽量な Goroutine プール.
-
Hunch - Hunch は, 非同期フロー制御をより直感的にする
All
,First
,Retry
,Waterfall
などの機能を提供します. - oversight - Erlang 監視ツリーの完全な実装です.
- parallel-fn - 並列に関数を実行する.
- pool - Goroutine の処理やキャンセルを容易にするために, 限定された消費者向け Goroutine, または無制限の Goroutine プール.
-
queue - キューグループのアクセシビリティのような
sync.WaitGroup
を提供します. Goroutine の抑制と制限, すべての Goroutine の終了などを支援します. - routine - コンテキスト, サポート:Main, Go, Pool, およびいくつかの便利な Executor を使用したルーチン制御.
- semaphore - セマフォ・パターンの実装で, チャネルとコンテキストに基づくロック/アンロック操作のタイムアウトがあります.
- semaphore - CAS に基づく高速にサイズ変更可能なセマフォ実装 (チャネルベースのセマフォ実装より高速).
- stl - ソフトウェアトランザクショナルロック (stl) は, ソフトウェアトランザクションメモリ (STM) 並行性制御メカニズムに基づいています.
- tunny - Goroutine プール.
- worker-pool - goworker は Go のシンプルな非同期ワーカープールです.
- workerpool - キューに入れられたタスクの数ではなく, タスクの実行の並行性を制限する Goroutine プール.
GUI
GUI アプリケーションを構築するためのライブラリ.
ツールキット
- app - GO, HTML, CSS でアプリを作成するパッケージ. サポート:MacOS, Windows で進行中です.
- fyne - EFL を使用しレンダリングするクロスプラットフォームネイティブ GUI. サポート: Linux, macOS, Windows.
- go-astilectron - GO と HTML/JS/CSS (Electronによって提供) で, クロスプラットフォームの GUI アプリケーションを構築する.
- go-gtk - GTK バインディング.
- go-sciter - Sciter バインディング:現代のデスクトップ UI 開発用の埋め込み可能な HTML/CSS/スクリプトエンジン. クロスプラットフォーム.
- gotk3 - Go 言語の GTK3 バインディング.
- gowd - GO, HTML, CSS, NW.js を使用した, 迅速でシンプルなデスクトップ UI 開発クロスプラットフォーム.
- qt - Go の Qt バインディング (Windows/macOS/Linux/Android/iOS/Sailfish OS/Raspberry Pi をサポート)
- ui - Go 用のプラットフォームネイティブ GUI ライブラリ. クロスプラットフォーム.
- Wails - Mac, Windows, Linux のデスクトップアプリケーションで, OS 組み込みの HTML レンダラーを使用しています.
- walk - Windows アプリケーションライブラリキット.
- webview - 単純な双方向 JavaScript バインディング (Windows/macOS/Linux) を使用したクロスプラットフォームの Webview ウィンドウ.
インタラクション
- go-appindicator - libappindicator3 C ライブラリのバインディング.
- gosx-notifier - Go の OSX デスクトップ通知ライブラリ.
- mac-activity-tracker - マシン上の (プラグ可能な) アクティビティを通知する OSX ライブラリ.
- mac-sleep-notifier - OSX スリープ/スリープ解除通知.
- robotgo - GO ネイティブクロスプラットフォーム GUI システムの自動化. マウス, キーボードなどを制御します.
- systray - クロスプラットフォーム Go ライブラリを使用して, 通知領域にアイコンとメニューを配置します.
- trayhost - クロスプラットフォーム Go ライブラリを使用して, ホストオペレーティングシステムのタスクバーにアイコンを配置します.
ハードウェア
ハードウェアとやりとりするためのライブラリ, ツール, チュートリアル.
包括的なリストについては, go-hardware を参照してください.
画像操作
画像を操作するためのライブラリ.
- bild - 純粋な Go での画像処理アルゴリズムのコレクション.
- bimg - libvips を使用した高速かつ効率的な画像処理用の小型パッケージ.
- cameron - Go のアバタージェネレータ.
- canvas - PDF, SVG, またはラスタライズ画像へのベクターグラフィックス.
- darkroom - 変更可能なストレージバックエンドを備えた画像プロキシと, 速度と復元力に重点を置いた画像処理エンジン.
- geopattern - 文字列から美しい生成画像パターンを作成します.
- gg - 純粋な Go での 2D レンダリング.
- gift - 画像処理フィルタのパッケージ.
- go-cairo - cairo グラフィックスライブラリのバインディング.
- gltf - 効率的で堅牢な glTF 2.0 リーダー, ライター, およびバリデーター.
- go-gd - GD ライブラリのバインディング.
- go-nude - Go を使用したヌード検出.
- go-opencv - OpenCV バインディング.
- go-webcolors - Python から Go への webcolors ライブラリのポート.
- gocv - OpenCV 3.3+ を使用した, コンピュータビジョン用のパッケージ.
- goimagehash - Go 知覚イメージハッシングパッケージ.
- goimghdr - imghdr モジュールは, Go のファイルに含まれる画像のタイプを決定します.
- govatar - 面白いアバターを生成するためのライブラリと CMD ツール.
- image2ascii - 画像をアスキーアートに変換する.
- imagick - ImageMagick の MagickWand C API バインディング.
- imaginary - イメージのサイズ変更用の高速で簡単な HTTP マイクロサービス.
- imaging - シンプルな Go 画像処理パッケージ.
- img - 画像操作ツールセレクション.
- ln - 3D ラインアートレンダリング.
- mergi - 画像操作のためのツールと Go ライブラリ (Merge, Crop, Resize, Watermark, Animate).
- mort - Go で書かれたストレージと画像処理サーバー.
- mpo - MPO 3D 写真用のデコーダおよび変換ツール.
- picfit - Go で書かれた画像サイズ変更サーバ.
- pt - Go で書かれたパストレースエンジン.
- resize - 一般的な補間方法で画像サイズを変更します.
- rez - 純粋な Go と SIMD での画像のサイズ変更.
- smartcrop - 任意の画像や, サイズに適した作物を見つける.
- steganography - LSB ステガノグラフィーライブラリ.
- stegify - 画像内に任意のファイルを隠すことができる LSB ステガノグラフィツール.
- svgo - SVG 生成のための Go 言語ライブラリ.
- tga - TARGA 画像フォーマットデコーダ/エンコーダ.
IoT (Internet of Things)
IoT デバイスをプログラミングするためのライブラリ.
- connectordb - 定量化された自己と IoT のためのオープンソースプラットフォーム.
- devices - x/exp/io のための実験的な IoT デバイス用ライブラリスイート.
- eywa - Project Eywa は本質的に, 接続されたデバイスを追跡する接続マネージャです.
- flogo - Project Flogo は IoT Edge Apps と統合のためのオープンソースフレームワークです.
- gatt - Gatt は Bluetooth 低エネルギー周辺機器を構築するGoパッケージです.
- gobot - Gobot は, ロボティクス, 物理コンピューティング, およびインターネットのためのフレームワークです.
- huego - Go のための幅広いフィリップスフューエクライアントライブラリ.
- iot - IoTは, Google IoTコアデバイスを実装するためのシンプルなフレームワークです.
- mainflux - 産業用 IoT メッセージングおよびデバイス管理サーバ.
- periph - 低レベルのボード機能とのインターフェースを行う周辺 I/O.
- sensorbee - IoT 用の軽量ストリーム処理エンジン.
Job Scheduler
ジョブスケジューリングライブラリ.
- clockwerk - シンプルで洗練された構文を使用して, 定期的なジョブをスケジュールするパッケージにする.
- clockwork - シンプルで直感的なジョブスケジューリングライブラリ.
- go-cron - Go のためのシンプルな Cron ライブラリです. クロージャや関数を様々な間隔で, 1秒に1回から1年の特定の日時に実行するように設定できます. 主に Web アプリケーションや長時間実行されるデーモン用です.
- gron - シンプルな Go API を使用して時間ベースのタスクを定義すると, Gron のスケジューラがそれに応じて実行します.
- JobRunner - ジョブキューイングとライブ監視が組み込まれたスマートで機能的な cron ジョブスケジューラ.
- jobs - 永続的かつ柔軟なバックグラウンド・ジョブ・ライブラリ.
- leprechaun - webhooks, crons や古典的なスケジューリングをサポートするジョブスケジューラ.
- scheduler - Cronjobs スケジューリングを容易にする.
JSON
JSON を使用するライブラリ.
- ajson - JSONPath をサポートした抽象 JSON.
- gjo - JSON オブジェクトを作成するための小さなユーティリティ.
- GJSON - 1行のコードで JSON 内の値を取得する.
- go-jsonerror - Go-JsonError は, JsonApi 仕様に従う JSON レスポンスエラーを簡単に作成できるようにするためライブラリ.
- go-respond - 一般的な HTTP JSON レスポンスを処理するための Go パッケージ.
- gojq - JSON クエリ.
- gojson - サンプルの JSON から Go (Golang) 構造体定義を自動的に生成する.
- JayDiff - Go で書かれた JSON 差分ユーティリティ.
- jettison - ハイパフォーマンスなリフレクション不使用 JSON エンコーダー.
- JSON-to-Go - JSON を Go Struct に変換する.
- json2go - 高度な JSON to Go 構造変換. 複数の JSON ドキュメントを解析し, それらすべてに適合する構造体を作成できるパッケージを提供します.
- jsonapi-errors - JSON API のエラー参照に基づいてバインディングを実行する.
- jsonf - 強調表示された書式設定と構造体クエリフェッチ JSON 用のコンソールツール.
- jsongo - Json オブジェクトの作成を容易にする, 流暢な API.
- jsonhal - カスタム構造体を HAL 互換の JSON レスポンスにマーシャリングする単純な Go パッケージ.
- kazaam - JSON ドキュメント変換のための API.
- mp - 簡単な CLI 電子メールパーサー. 現在は stdin を受け取り, JSON を出力します.
ロギング
ログファイルを生成および処理するためのライブラリ.
- distillog - レベルロギングライブラリ.
- glg - glg はシンプルで高速なログ用のロギングライブラリです.
- glo - PHP Monolog に触発されたロギングライブラリ.
- glog - Go のレベル別実行ログ.
- go-log - シンプルで, レベルやフォーマッター, ライターを設定できる Go ロギングライブラリ.
- go-log - Log lib は, レベルハンドラとマルチハンドラをサポートしています.
- go-log - Go の log4j 実装.
- go-logger - レベルハンドラ付きのシンプルなロガー.
- gologger - シンプルで使いやすいログライブラリを使用して, カラフルなコンソール, シンプルコンソール, ファイル, または Elasticsearch にログインします.
- gomol - 拡張可能なロギング出力を備えた Go 用の複数出力の構造化ロギング.
- gone/log - 高速で拡張可能なフル機能の std-lib ソース互換ログライブラリ.
- journald - ロギングのための systemd Journal のネイティブ API 実装.
- log - 1 つのログを複数のライターに接続できる O(1) ロギングシステム (stdout, ファイル, TCP 接続など)
- log - Go 用の構造化ロギングパッケージ.
- log - シンプルで構成可能でスケーラブルなロギング.
- log - Go 用の構造化ログインタフェースは, ロギングファサードとその実装を完全に分離します.
- log-voyage - Golang で書かれたフル機能のログの SaaS.
- log15 - シンプルで, 強力.
- logdump - マルチレベルロギング用のパッケージ.
- logex - 追跡とレベルをサポートし, 標準のログライブラリをラップします.
- logger - Go 用の最小限のロギングライブラリ.
- logmatic - ダイナミックログレベル設定画できる, 色分けされたロガー.
- logo - 様々な設定が可能なロガー.
- logrus - Go 用の構造化ロガー.
-
logrusiowriter - logrus ロガーを使用した
io.Writer
実装. - logrusly - logrus プラグインを使用して, Loggly へエラーを送信する.
- logutils - ログイン用ユーティリティ Go (Golang) 標準ロガーの拡張.
- logxi - 高速であなたを幸せにする 12 ファクターアプリロガー.
- lumberjack - シンプルローリングロガー, io.WriteCloserを実装しています.
- mlog - Go 用の簡単なロギングモジュール, 5 つのレベル, オプションの回転ログファイル機能, stdout/stderr 出力.
- ozzo-log - ログの重要度, 分類, およびフィルタリングをサポートする高性能ログ. フィルタされたログメッセージをさまざまなターゲット (コンソール, ネットワーク, メールなど) に送信できます.
-
rollingwriter - RollingWriter はログファイルのローテーションを提供するためにマルチポリシーを持つ, 自動回転
io.Writer
実装です. - seelog - 柔軟なディスパッチ, フィルタリング, および書式設定によるロギング機能.
- spew - デバッグのためにに, Go データ構造のためのプリンタを実装する.
- stdlog - Stdlog は, レベル付きロギングを提供するオブジェクト指向ライブラリです. これは cron ジョブにとって非常に便利です.
- tail - BSD テールプログラムの機能をエミュレートしようとする Go パッケージ.
- xlog - レベルコントロール, 複数ログのターゲットとカスタムログ形式で, プラグインのアーキテクチャと Go のための柔軟なログシステム.
-
xlog - 柔軟なディスパッチを持つ
net/context
対応の HTTP ハンドラ用の構造化されたロガー. - zap - 高速で構造化された, レベル別ログ.
- zerolog - 割当を必要としない JSON ロガー.
機械学習
機械学習のためのライブラリ.
- bayesian - Golang のためのナイーブベイズ分類.
- CloudForest - 純粋な Go で書かれた, 高速で柔軟な機械学習のための決定木マルチスレッドアンサンブル.
- eaopt - 進化的最適化ライブラリ.
- evoli - 遺伝的アルゴリズムと粒子群最適化ライブラリ.
- fonet - Go で書かれたディープニューラルネットワークライブラリ.
- go-cluster - k モードとk プロトタイプクラスタリングアルゴリズムの実装.
- go-deep - Go の豊富な機能を備えたニューラルネットワークライブラリ.
- go-fann - Fast Artificial Neural Networks (FANN) ライブラリのバインディング.
- go-galib - Go で書かれた遺伝的アルゴリズムライブラリ.
- go-pr - パターン認識パッケージ.
- gobrain - ニューラルネットワーク.
- godist - 様々な確率分布, および関連する方法.
- goga - Go 用遺伝的アルゴリズムライブラリ.
- GoLearn - Go の一般的な機械学習ライブラリ.
- golinear - Go の liblinear バインディング.
- GoMind - 単純化されたニューラルネットワークライブラリ.
- goml - オンラインマシンラーニング.
- Goptuna - Go で記述されたブラックボックス関数のベイジアン最適化フレームワーク. すべてが最適化されます.
- goRecommend - レコメンド・アルゴリズム・ライブラリ.
- gorgonia - Theano for Go のようなグラフベースの計算ライブラリで, さまざまな機械学習やニューラルネットワークアルゴリズムを構築するためのプリミティブを提供します.
- gorse - 協調フィルタリングに基づく高性能レコメンドシステムパッケージ.
- goscore - PMML の Go Scoring API.
- gosseract - Tesseract C++ ライブラリを使用した, OCR (Optical Character Recognition) の Go 実装.
- libsvm - LIBSVM 3.14 に基づいた, LIBSVM の Golang バージョン派生作品.
- neat - NeuroEvolution for Topology (NEAT) のためのプラグアンドプレイ, パラレル Go フレームワーク.
- neural-go - Go で実装されたマルチレイヤパーセプトロンネットワークで, バックプロパゲーションによるトレーニング.
- ocrserver - Docker と Heroku による展開が非常に簡単な, シンプルな OCR API サーバー.
- onnx-go - Open Neural Network Exchange (ONNX) へのインターフェイス.
- probab - 確率分布関数. ベイジアン推論. 純粋な Go で書かれています.
- regommend - 推奨および共同フィルタリングエンジン.
- shield - 柔軟なトークナイザと, Go のストレージバックエンドを備えた, ベイズテキスト分類器.
- tfgo - 使いやすい Tensorflow バインディング: 公式の Tensorflow Go バインディングの使用を簡素化します. Go で計算グラフを定義し, Python で訓練されたモデルをロードして実行します.
- Varis - Golang ニューラルネットワーク.
メッセージング
メッセージングシステムを実装するライブラリ.
- APNs2 - HTTP/2 Apple プッシュ通知プロバイダ. iOS, tvOS, Safari そして OSX アプリにプッシュ通知を送ることができます.
- Beaver - スケーラブルなアプリ内通知, マルチプレイヤーゲーム, Web 内のチャットアプリ, モバイルアプリを構築するためのリアルタイムメッセージングサーバー.
- Benthos - 一連のプロトコル間のメッセージストリーミングブリッジ.
- Bus - 内部通信用のミニマリストメッセージバスの実装.
- Centrifugo - リアルタイムメッセージングサーバー (Websockets or SockJS).
- Commander - Apache Kafka などのさまざまな「方言」をサポートする高レベルのイベント駆動型コンシューマ/プロデューサー
- dbus - D-Bus のネイティブ GO バインディング.
- drone-line - バイナリ, Docker または Drone CI を使用して Line へ通知を送る.
- emitter - ワイルドカード, 述語, 取り消しの可能性, その他多くの方法で, イベントを送信します.
- event - パターンオブザーバの実装.
- EventBus - 非同期互換性を持つ軽量イベントバス.
- gaurun-client - Go で書かれた Gaurun クライアント.
- Glue - Robust Go と Javascript ソケットライブラリ. (Socket.io の代替)
- go-notify - freedesktop 通知仕様のネイティブ実装.
- go-nsq - NSQ のためのオフィシャル GO ライブラリ.
- go-socket.io - socket.io ライブラリ. リアルタイム通信フレームワーク.
- go-vitotrol - Viessmann Vitotrol ウェブサービスのためのクライアントライブラリ.
- Gollum - 異なるソースからのメッセージを収集し, それらを1組の宛先にブロードキャストする n:m マルチプレクサ.
- golongpoll - web pub-sub をシンプルにする HTTP longpollサーバーライブラリ.
- gopush-cluster - gopush-cluster は Go プッシュサーバクラスタです.
- gorush - APNs2 と google GCM を使用したプッシュ通知サーバ.
- guble - プッシュ通知 (Google Firebase Cloud Messaging, Apple プッシュ通知サービス, SMS) を使用するメッセージングサーバー, Web オペレーション, 分散運用とメッセージ永続性を備えた REST API.
- hub - RabbitMQ のようなエイリアスをサポートした, パブリッシュ/サブスクライブパターンを使用した, Go アプリケーション用のメッセージ/イベントハブ.
- jazz - キュー管理とメッセージの発行および消費のためのシンプルな RabbitMQ 抽象化層.
- machinery - 分散メッセージ・パッシングに基づく非同期タスク・キュー/ジョブ・キュー
- mangos - トランスポートの相互運用性を備えた Nanomsg (スケーラブルプロトコル) の純粋な実装.
- melody - websocket セッションを処理するための最小限のフレームワーク, ブロードキャスト, および自動 ping/pong の処理が含まれます.
- Mercure - Server-sent イベントの上に構築された Mercure プロトコルを使用して, サーバーが送信した更新をディスパッチするためのサーバーとライブラリ.
- messagebus - messagebus はシンプルな非同期メッセージバスで, イベントソーシング, CQRS, DDD を行うときにイベントバスとして使用するのに最適です.
- NATS Go Client - 軽量で高性能のパブリッシュ/サブスクライブおよび分散キューイングメッセージングシステムです.
- nsq-event-bus - NSQ トピックとチャンネル周りの小さなラッパー.
- oplog - REST API 用の一般的な oplog/replication システム.
- pubsub - シンプルな pubsub パッケージ.
- rabbus - amqp exchanges と queues のちいさなラッパー.
- rabtap - RabbitMQ スイスアーミーナイフ CLI app.
- RapidMQ - RapidMQ は, ローカルメッセージキューを管理するための軽量で信頼性の高いライブラリです.
- redisqueue - redisqueue は, Redis ストリームを使用するキューのプロデューサーとコンシューマーを提供します.
-
rmqconn - RabbitMQ との再接続.
amqp.Connection
とamqp.Dial
をラッパーします. 接続が切断され,Close()
メソッドが呼び出だされ強制的に閉じる前に, 再接続を行うことを許可します. - sarama - Go の Apache Kafka ライブラリ.
- Uniqush-Push - モバイルデバイスへ, サーバー側から通知するための, 再構成された統合プッシュサービス.
- zmq4 - ZeroMQ version 4 の Go インターフェース. version 3 と version 2 でも使用可能です.
Microsoft Office
- unioffice - Office Word (.docx) , Excel (.xlsx) , Powerpoint (.pptx) ドキュメントを作成および処理するための純粋な GO ライブラリ.
Microsoft Excel
Microsoft Excel を使用するライブラリ.
- excelize - Microsoft Excel™ (XLSX) ファイルを読み書きするためのライブラリ.
- go-excel - リレーショナル DB ライクなエクセルをテーブルのように読むための, シンプルで軽量なリーダー.
- goxlsxwriter - XLSX (Microsoft Excel) ファイルを書くための libxlsxwriter 用の Golang バインディング.
- xlsx - 最近のバージョンの Microsoft Excel で使用される XML 形式をGoプログラムで読みやすくするためのライブラリ.
- xlsx - Go プログラムで既存の Microsoft Excel ファイルを読み込み/更新するための迅速かつ安全な方法.
いろいろ
依存注入
依存注入のためのライブラリ.
- alice - Golang のための依存性注入コンテナ.
- container - 使いやすいインターフェイスを備えた強力な IoC コンテナ.
- dig - レフレクションベースの依存注入ツールキット.
- fx - Go 用の依存性注入ベースのアプリケーションフレームワーク (dig の上に構築されています).
- gocontainer - シンプルな IoC コンテナ.
- inject - シンプルなインターフェースを備えたリフレクションベースの依存性注入コンテナ.
- linker - コンポーネントのライフサイクルをサポートするリフレクションベースの依存性注入と制御ライブラリ.
- wire - 厳格な実行時依存注入.
プロジェクトレイアウト
プロジェクトを構造化するための非公式なパターンのセット.
- go-sample -実際のコードを使用したGoアプリケーションプロジェクトのサンプルレイアウト.
- golang-standards/project-layout - Go エコシステムにおける一般的な歴史的および新興のプロジェクトレイアウトパターンのセット.
- modern-go-application - アプリケーションの定型文と, 最新のプラクティスを適用した例.
- scaffold - Scaffold はスターターGoプロジェクトレイアウトを生成します. 実装したビジネスロジックに集中できます.
文字列
文字列を扱うライブラリ.
その他
これらのライブラリは, 他のカテゴリのどれも適合していないため, ここに書かれました.
- anagent - 依存性注入を伴う最小限の, プラガブルな Golang evloop/タイマーハンドラ.
- antch - 高速かつ強力で拡張性の高い Web クロール&スクレイピングフレームワーク.
- archiver - .zip と .tar.gz アーカイブの作成と解凍のためのライブラリとコマンド.
- autoflags - 構造体フィールドからコマンドラインフラグを自動的に定義するためのパッケージ.
- avgRating - ウィルソンスコア式に基づいて平均スコアと評価を計算します.
- banner - Go アプリケーションに美しいバナーを追加します.
- base64Captcha - Base64captch は, 数字, 数字, アルファベット, 算術, オーディオおよび数字アルファベットのキャプチャをサポートします.
- battery - クロスプラットフォームの正規化バッテリ情報ライブラリ.
- bitio - 高度に最適化されたビットレベルのリーダおよびライタ.
- browscap_go - Browser Capabilities Project のための Go ライブラリ.
- captcha - captcha は, キャプチャの生成のための使いやすい API を提供します.
-
conv - conv は, Go の
types
間で高速かつ直感的な変換を提供します. - datacounter - readers/writer/http.ResponseWriter のための Go カウンター.
- ffmt - 人が読みやすい形にデータをきれいにフォーマットして表示する.
- ghorg - 単一ディレクトリに GitHub のすべてのリポジトリをクローンします.
- go-commons-pool - Golang のための一般的なオブジェクトプール.
- go-openapi - open-api スキーマを解析して利用するためのパッケージのコレクション.
- go-resiliency - Go のための Resiliency パターン.
- go-unarr - RAR, TAR, ZIP および 7z アーカイブの解凍ライブラリ.
- gofakeit - Go で書かれたランダムジェネレータ.
- gommit - git commit メッセージを分析して, 定義されたパターンに従うようにする.
- gopsutil - プロセスとシステムの使用率 (CPU, メモリ, ディスクなど) を取得するためのクロスプラットフォームのライブラリ.
- gosms - SMS を送信するために使用できる Go の独自のローカル SMS ゲートウェイ.
- gotoprom - 公式の Prometheus クライアント用のタイプセーフメトリックビルダーラッパーライブラリ.
- gountries - 国とその細区分データを公開するパッケージ.
- health - 使いやすく, 拡張可能なヘルスチェックライブラリ.
- healthcheck - RESTful なサービスのためのオピニオン化された, 同時チェックヘルスチェック HTTP ハンドラ.
- indigo - Sonyflake を使用し, Base58 でコード化された分散型固有 ID ジェネレータ.
- lk - Golang のための簡単なライセンスライブラリ.
- llvm - 純粋な Go で LLVM IR とやりとりするためのライブラリ.
- metrics - メトリクス計測と Prometheus のためのライブラリ.
- morse - モールス符号との間で変換するライブラリ.
- numa - NUMA は Go で記述されたユーティリティライブラリです. NUMA 対応コードを書くのに役立ちます.
- pdfgen - JSON リクエストから PDF を生成します.
- persian - ペルシアの言語のためのいくつかのユーティリティ.
- sandid - 地球上のあらゆる砂の粒は, 独自のIDを持っています.
- shellwords - UNIX Bourne シェルの単語解析規則に従って文字列を操作するための Golang ライブラリ.
- shortid - スーパーショート, ユニーク, 非シーケンシャル, URL フレンドリな ID の分散世代.
- stateless - ステートマシン作成ライブラリ.
- stats - メモリ, スワップ, CPU のようなシステム統計情報をモニタリングし, ログ記録などを UDP 経由で送信します.
- turtle - Go のための絵文字.
- url-shortener - MySQL をサポートした, モダンでパワフル, そして堅牢な URL 短縮マイクロサービス.
- VarHandler - HTTP 入力と出力処理のボイラープレートを生成します.
- xdg - FreeDesktop.org (xdg) の実装.
- xkg - X キーボードグラバー.
自然言語処理
自然言語を処理するためのライブラリ.
- getlang - 高速自然言語検出パッケージ.
- go-i18n - ローカライズされたテキストを扱うためのパッケージと付属ツール.
- go-mystem - Yandex.Mystem の CGo バインディング - ロシア語形態素解析ツール.
- go-nlp - 離散確率分布や NLP 作業に役立つ, その他のツールを扱うユーティリティ.
- go-pinyin - CN Hanzi から Hanyu Pinyin へのコンバーター.
- go-stem - ポーターステミングアルゴリズムの実装.
- go-unidecode - Unicode テキストを ASCII に翻訳.
- go2vec - word2vec 埋め込みのためのリーダーとユーティリティ関数.
- gojieba - 中国語単語分割アルゴリズムである jieba の Go 実装.
- golibstemmer - poter2 を含むスノーボール・リスメット・ライブラリの Go バインディング.
- gotokenizer - Golang の辞書と Bigram 言語モデルに基づくトークナイザ (現在, 中国のセグメンテーションのみをサポートしています).
- gounidecode - Go 用の Unicode 翻字子 (Unidecode とも呼ばれる).
- gse - 効率的なテキストセグメンテーション. 英語, 中国語, 日本語などのサポート.
- icu - icu4c C ライブラリの検出と変換機能のための CGo バインディング. バージョン50.1との互換性を保証.
- kagome - 純粋な Go で書かれた JP 形態素解析器.
- libtextcat - libtextcat C ライブラリの CGo バインド. バージョン2.2との互換性を保証.
- MMSEGO - 中国語単語分割アルゴリズムである MMSEG の Go 実装.
- nlp - 文字列から値を抽出し, 構造体に NLP を埋め込む.
- nlp - Go 自然言語処理ライブラリ LSA (Latent Semantic Analysis) をサポート.
- paicehusk - Paice/Husk ステミングアルゴリズムの実装.
- petrovich - Petrovich は, ロシアの名前を文法的な事例に変えるライブラリです.
- porter - これは Porter ステミングアルゴリズムの Martin Porter の C 実装のかなり単純なポートです.
- porter2 - 本当に速い Poter2 のステマー.
- prose - トークン化, 品詞タグ付け, 名前付きエンティティ抽出などをサポートするテキスト処理用ライブラリ. 英語のみ.
- RAKE.go - 高速自動キーワード抽出アルゴリズム (RAKE) の Go ポート.
- segment - Unicode Standard Annex #29 に記載されているように Unicode Text Segmentation を実行するための Go ライブラリ.
- sentences - sentence tokenizer:テキストを文のリストに変換する.
- snowball - Go のためのスノーボール・ステマー・ラッパー (CGo ラッパー). 語幹抽出機能を提供する Snowball native.
- stemmer - Go プログラミング言語のためのステマーパッケージ. 英語とドイツ語のステマーを含んでいます.
- textcat - utf-8 と生のテキストをサポートする n-gram ベーステキスト分類のための Go パッケージ.
- whatlanggo - Go の自然言語検出パッケージ. 84 の言語と 24 のスクリプトをサポートしています (例えば, ラテン語, キリル文字など).
- when - プラグ可能なルールを持つ EN および RU 言語の日付/時刻解析ツール.
ネットワーキング
さまざまなネットワークレイヤーを扱うためのライブラリ.
- arp - RCF 836 で定義されている ARP プロトコルの実装.
- buffstreams - TCP によるプロトコルバッファデータのストリーミングを容易に.
- canopus - CoAP のサーバー/クライアント実装 (RFC 7252)
- dhcp6 - dhcp6 は, RFC3315 で説明されているように, DHCPv6 サーバーを実装しています.
- dns - DNS を扱うための Go ライブラリ.
- ether - イーサネットフレームを送受信するためのクロスプラットフォーム Go パッケージ.
- ethernet - IEEE 802.3 イーサネット II フレームと IEEE 802.1Q VLAN タグのマーシャリングとアンマーシャリングを実装します.
- fasthttp - Go の高速な HTTP 実装で, net/http よりも最大10倍高速です.
- fortio - コマンドラインツールと Web UI の負荷テストライブラリ. 1秒あたりのクエリのセットを指定して, レイテンシのヒストグラムやその他の有用な統計を記録してグラフ化することができます.
- ftp - RFC 959 で説明されている, FTP クライアントを実装しています.
- gev - gev は, Reactor モードに基づく軽量で高速なノンブロッキング TCP ネットワークライブラリです.
- gmqtt - Gmqtt は, MQTT プロトコル V3.1.1 を完全に実装した, 柔軟で高性能な MQTT ブローカーライブラリです.
-
gnet -
gnet
は, 純粋な Go で記述された, 高性能で軽量, ノンブロッキングのイベントループネットワークライブラリです. - gNxI - gNMI と gNOI プロトコルを使用するネットワーク管理用ツールのコレクション.
- go-getter - URL を使用してさまざまなソースから, ファイルまたはディレクトリをダウンロードするための Go ライブラリ.
- go-powerdns - PowerDNS API バインディング.
- go-stun - STUN クライアントの実装 (RFC 3489 and RFC 5389).
- gobgp - BGP の実装.
- golibwireshark - libwireshark ライブラリを使用して pcap ファイルを解読し, データを解析します.
- gopacket - libpcap バインディングによるパケット処理用の Go ライブラリ.
- gopcap - libpcap の Go ラッパー.
- goshark - tshark を使って IP パケットを解読し, パケットを解析するデータ構造体を作成します.
- gosnmp - SNMP アクションを実行するネイティブ Go ライブラリ.
- gotcp - tcp アプリケーションをすばやく作成するための Go パッケージ.
- grab - ファイルのダウンロードをマネージングするためのパッケージ.
- graval - 実験的な FTP サーバーフレームワーク.
- HTTPLab - HTTPLabs を使用すると, HTTP リクエストを検査し, レスポンスを偽造することができます.
- iplib - (net.IP, net.IPNet), python ipaddress と ruby ipaddr に触発されたライブラリ.
- jazigo - Jazigo は, 複数のネットワークデバイスの設定を取得するために Go で書かれたツールです.
- kcp-go - KCP - 迅速で信頼性の高い ARQ プロトコル.
- kcptun - KCP プロトコルに基づく, 非常にシンプルで高速な UDP トンネル.
- lhttp - より簡単に IM サーバーを構築するための, 強力な websocket フレームワーク.
- linkio - Reader/Writer のインターフェースを備えた, ネットワークリンク速度シミュレーション.
- llb - プロキシサーバーのための, 非常にシンプルかつ迅速なバックエンドです. ゼロメモリ割り当てと高速応答で, 定義済みドメインへの高速リダイレクトに役立ちます.
- mdns - シンプルな mDNS (Multicast DNS) クライアント/サーバーライブラリ.
- mqttPaho - TCP, TLS または WebSockets 経由で MQTT ブローカーに接続するための, MQTT クライアント・ライブラリーを提供します.
- NFF-Go - クラウドとベアメタルのための, 高性能ネットワーク機能を迅速に開発するためのフレームワーク (旧 YANFF).
- packet - TCP と UDP でパケットを送信します. 必要に応じてメッセージとホットスワップ接続をバッファリングすることができます.
- peerdiscovery - UDP マルチキャストを使用したクロスプラットフォーム ローカル ピア ディスカバリ のための Pure Go ライブラリ.
- portproxy - サポートしていない API に CORS サポートを追加するシンプルな TCP プロキシ.
- publicip - このパッケージは, パブリック IPv4 アドレス (インターネット出口) を返します.
- quic-go - QUIC プロトコルの GO 実装.
- raw - Package raw enaネットワークインタフェースのデバイスドライバレベルでのデータの読み書きが可能になります.
- sftp - https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt に記述されている, SSHファイル転送プロトコルを実装しています.
- ssh - SSH サーバーを構築するための高度なAPI (crypto/ssh のラッパー).
- sslb - これはとてもシンプルなロードバランサで, 何らかのパフォーマンスを達成するための, ちいさなプロジェクトです.
- stun - RFC 5389 STUN プロトコルの実装.
- tcp_server - より高速に TCP サーバーを構築するためのライブラリ.
- tspool - この TCP ライブラリは, パフォーマンスを向上させ, サーバーを保護するためにワーカープールを使用します.
- utp - uTP マイクロトランスポートプロトコルの実装.
- water - シンプルな TUN/TAP ライブラリ.
- webrtc - WebRTC API の実装.
- winrm - Windows マシン上でリモートからコマンドを実行するための WinRM クライアント.
- xtcp - 同時全二重通信, 正常なシャットダウン, カスタムプロトコルを備えた TCP サーバーフレームワーク.
HTTP Clients
HTTP リクエストを作成するためのライブラリ.
- gentleman - フル機能のプラグインドリブン HTTP クライアントライブラリ.
- grequests - 有名で偉大なリクエストライブラリのクローン.
- heimdall - 再試行機能と hystrix 機能を備えたエンハンスド HTTP クライアント.
- pester - 再試行, バックオフ, および同時実行性を備えた HTTP クライアント呼び出しを実行します.
- resty - Ruby rest-client に触発された Go 用のシンプルな HTTP と REST クライアント.
- rq - golang stdlib HTTP クライアント用のより良いインターフェース.
- sling - Sling は, API リクエストを作成して送信する Go HTTP クライアントライブラリです.
- sreq - Go 用のシンプルで使いやすい同時安全な HTTP リクエストライブラリ.
OpenGL
Go で OpenGL を扱うためのライブラリ.
- gl - OpenGL の Go バインディング.
- glfw - GLFW 3 の Go バインディング.
- goxjs/gl - OpenGL のクロスプラットフォーム Go バインディング (OS X, Linux, Windows, browsers, iOS, Android).
- goxjs/glfw - OpenGL コンテキストを作成してイベントを受け取るためのクロスプラットフォーム glfw ライブラリ.
- mathgl - GLM からのインスピレーションを得た, 3D 数学に特化した純粋な Go で書かれた数学パッケージ.
ORM
オブジェクトリレーショナルマッピングまたはデータ解析技術を実装するライブラリ.
- beego orm - pq/mysql/sqlite3 をサポートする強力なフレームワーク.
- go-firestorm - Google / Firebase Cloud Firestore 用のシンプルな ORM.
- go-pg - PostgreSQL の ORM. PostgreSQL 固有の機能とパフォーマンスを中心に.
- go-queryset - コード生成による 100% 型安全な ORM と GORM に基づいた MySQL, PostgreSQL, Sqlite3, SQL Server サポート.
- go-sqlbuilder - 柔軟で強力な SQL 文字列ビルダー・ライブラリとゼロ設定 ORM.
- go-store - Redis を使用した, 簡単で高速な Key-Value ストアライブラリ.
- GORM - 開発者にやさしい Golang のための素晴らしい ORM ライブラリ.
- gorp - Go リレーショナルパーシステンス, ORM のようなライブラリ.
- Marlow - コンパイル時の安全性確保のために, プロジェクト構造体から生成された ORM.
- pop/soda - MySQL, PostgreSQL, SQLite のデータベースマイグレーション, 作成, ORM など.
- QBS - Query By Struct の略. Go による ORM.
- reform - 空でないインタフェースとコード生成に基づいた, より良い ORM.
- SQLBoiler - ORM ジェネレータ. データベース・スキーマに合わせて, 素早く素早く ORM を生成する.
- upper.io/db - データベースドライバをラップするアダプタを使用して, 異なるデータソースと対話するための単一のインターフェイス.
- Xorm - シンプルで強力な ORM.
- Zoom - Redis で構築された, 驚異的な高速データストアとクエリ・エンジン.
パッケージ管理
依存関係とパッケージ管理のための公式ツール.
- go modules - モジュールは, ソースコード交換とバージョン管理の単位です. go コマンドは, 他のモジュールへの依存関係の記録や解決など, モジュールを扱う作業を直接サポートします.
パッケージ管理のための公式の実験的なツール.
パッケージおよび依存関係管理のための非公式ライブラリ.
- gigo - Golang のための Pip のような依存ツール. プライベートリポジトリとハッシュをサポートしています.
- glide - Golang のベンダーとパッケージを簡単に管理できます. Maven, Bundler, Pip のようなツールに触発されています.
- godep - Go のための依存関係ツール. godep は依存関係を修正して再現可能なパッケージを構築するのに役立ちます.
- gom - Go マネージャ - Go のためのバンドル.
- goop - Bundler に触発された Go (golang) の簡単な依存マネージャ.
- gop - GOPATH から Go アプリケーションを構築して管理できます.
- gopm - Go パッケージマネージャ.
- govendor - Go パッケージマネージャ. 標準ベンダファイルで動作するベンダツール.
- gpm - Barebones 依存関係マネージャ.
- johnny-deps - Git を使った最小依存バージョン.
- mvn-golang - Golang SDK の自動ロード, 依存関係の管理, Maven プロジェクトのインフラストラクチャでのビルド環境の構築のための方法を提供するプラグイン.
- nut - ベンダーの依存関係.
- VenGO - エクスポート可能な隔離された Go 仮想環境の作成と管理.
パフォーマンス
Query 言語
- gojsonq - JSON データを問い合わせるシンプルな Go パッケージ.
- graphql - GraphQL パーサ + ユーティリティ.
- graphql - 使いやすさを重視した GraphQL サーバ.
- graphql-go - Go のための GraphQL 実装.
- jsonql - Golang の JSON クエリ式ライブラリ.
- jsonslice - 高度なフィルタを使用した Jsonpath クエリ.
- rql - REST API のためのリソースクエリ言語.
- straf - Golang 構造体を GraphQL オブジェクトに簡単に変換します.
リソースの埋め込み
- esc - Go プログラムにファイルを埋め込み, http.FileSystem インターフェースを提供する.
- fileb0x - "カスタマイズ" と使いやすさに重点を置いた, ファイルを埋め込むためのシンプルなツール.
- go-embed - ライブラリや実行可能ファイルに, リソースファイルを埋め込む Go コードを生成します.
- go-resources - Unfancy リソースの埋め込み.
- go.rice - go.rice は, html, js, css, 画像, テンプレートなどのリソースを使って作業するGo パッケージです.
- packr - 静的ファイルを Go バイナリに埋め込むシンプルで簡単な方法.
- statics - 静的リソースを単一バイナリコンパイルのためのファイルに埋め込み, http.FileSystem + symlinks で動作させる.
- statik - 静的ファイルを Go 実行可能ファイルに埋め込む.
- templify - 単一のファイルバイナリを作成するために外部テンプレートファイルを Go コードに埋め込む.
- vfsgen - 指定された仮想ファイルシステムを静的に実装する vfsdata.go ファイルを生成します.
科学とデータ分析
科学計算とデータ解析のためのライブラリ.
- assocentity - assocentity は, 単語から特定のエンティティまでの平均距離を返します.
- bradleyterry - ペアワイズ比較のための Bradley-Terry モデルを提供します.
- chart - シンプルチャートプロットする Go ライブラリ. 多くのグラフタイプをサポート.
- dataframe-go - Go での機械学習と統計のためのデータフレーム (pandas に似ています).
- evaler - シンプルな浮動小数点演算式評価プログラム.
- ewma - 指数加重移動平均.
- geom - Golang のための 2D ジオメトリ.
- go-dsp - Go のためのデジタルシグナルプロセッサ.
- go-gt - Go 言語で書かれたグラフ理論アルゴリズム.
- goent - Entropy Measures の Go 実装.
- gohistogram - データストリームの近似ヒストグラム.
- gonum - Gonum は, Go プログラミング言語用の数値ライブラリのセットです. これには, 行列, 統計, 最適化などのライブラリが含まれています.
- gonum/plot - Go でプロットを作成および描画するための API を提供します.
- goraph - 純粋な Go グラフ理論ライブラリ (データ構造, アルゴリズム可視化).
- gosl - 線形代数, FFT, ジオメトリ, NURBS, 数値方法, 確率, 最適化, 微分方程式などの科学ライブラリ.
- graph - 基本グラフアルゴリズムライブラリ
- ode - 拡張状態とチャネルベース反復停止条件をサポートする常微分方程式 (ODE) ソルバ.
- orb - クリッピングを含む 2D ジオメトリタイプ, GeoJSON および Mapbox ベクタータイルサポート.
- pagerank - Go で実装された加重ページランクアルゴリズム.
- piecewiselinear - 小さな直線補間ライブラリ.
- PiHex - 16進数 Pi に対する, ベイリー=ボールウィン=プラウフ式アルゴリズムの実装.
- rootfinding - 二次関数の根を見つけるための根発見アルゴリズムライブラリ.
- sparse - Gonum 行列ライブラリと互換性のある線形代数の科学的および機械学習アプリケーションをサポートするスパース行列形式.
- stats - Golang の標準ライブラリにない, 共通機能を持つ統計パッケージ.
- streamtools - データストリームを扱う汎用のグラフィカルツール.
- TextRank - 拡張可能な機能 (要約, 重み付け, フレーズ抽出) とマルチスレッド (goroutine) をサポートする Golang の TextRank 実装.
- triangolatte - 2D 三角形分割ライブラリ. ラインとポリゴン (ポイントに基づく) を GPU 言語に翻訳できます.
セキュリティ
アプリケーションをより安全にするために使用されるライブラリ.
- acmetool — ACME (Let's Encrypt) 自動更新クライアントツール.
- acra - 強力な選択的暗号化, SQLインジェクション防止, 侵入検知システムなど, データ漏洩からデータベースベースのアプリケーションを保護するネットワーク暗号化プロキシ.
- argon2pw - Argon2 パスワード生成.
- autocert - 自動提供証明書を暗号化して TLS サーバーを開始しましょう.
- BadActor - fail2ban の精神で構築された, メモリ内のアプリケーション駆動型の看守.
- Cameradar - 監視カメラから RTSP ストリームをリモートでハックするためのツールとライブラリ.
- certificates - TLS証明書を生成するためのツール.
- go-yara - YARA の Go バインディング. 「マルウェアの研究者 (および他のすべての人) のパターンマッチのスイスナイフ」
- goSecretBoxPassword - パスワードを安全にハッシュして暗号化するためのパッケージです.
- Interpol - ファジングとペネトレーションテストのためのルールベースのデータジェネレータ.
- lego - 純粋な Go ACME クライアントライブラリと CLI ツール (Let's Encrypt で使用).
- memguard - メモリ内の機密値を扱う, 純粋な Go ライブラリ.
- nacl - NaCL API セットの実装.
- passlib - 未来のパスワードハッシングライブラリ.
- secure - いくつかの迅速なセキュリティの勝利を促進する, Go のための HTTP ミドルウェア.
- simple-scrypt - シンプルで明解な API と自動原価キャリブレーションを内蔵した暗号化パッケージ.
- ssh-vault - ssh キーを使用して暗号化/復号化する.
- sslmgr - SSL証明書を acme/autocert を取り巻く高レベルのラッパーで簡単にしました.
シリアライゼーション
バイナリシリアル化のためのライブラリとツール.
- asn1 - Go の Asn.1 BER および DER エンコーディングライブラリ.
- bambam - Cap'n Proto スキーマのためのジェネレータ.
- bel - Go の構造体/インタフェースから TypeScript インタフェースを生成します. JSON RPC に役立ちます.
- binstruct - 構造体にデータをマッピングするための Go バイナリデコーダ.
- cbor - 小さく, 安全で, 簡単なCBORエンコードおよびデコードライブラリ.
- colfer - Colfer バイナリ形式のコード生成.
- csvutil - 高性能で慣用的な CSV レコードのエンコーディングとネイティブ Go 構造体へのデコード.
- fwencoder - Go の固定幅ファイルパーサー (エンコードおよびデコードライブラリ).
- go-capnproto - Cap'n Proto ライブラリとパーサー.
- go-codec - ランタイムベースの OR コード生成をサポートする, 高性能で機能豊富な, 熟練した msgpack, cbor および json 用のエンコード, デコードおよび rpc ライブラリ.
- gogoprotobuf - ガジェット付き Go 用プロトコルバッファ.
- goprotobuf - ライブラリとプロトコルコンパイラプラグインの形で, Google のプロトコルバッファ用の Go サポート.
- jsoniter - "encoding/json" の高性能, 100%互換ドロップイン置換.
- mapstructure - ジェネリックマップ値をネイティブ Go 構造にデコードするための Go ライブラリ.
- php_session_decoder - PHP セッションフォーマットと PHP の作業用の GoLang ライブラリ.
- pletter - メッセージブローカーのプロトメッセージをラップする標準的な方法.
- structomap - 静的構造からマップを簡単かつ動的に生成するライブラリ.
サーバーアプリケーション
- algernon - Lua, Markdown, GCSS, Amber をサポートしている HTTP/2 Web サーバー.
- Caddy - Caddy は, 設定と使用が簡単な, 代替の HTTP/2 Web サーバーです.
- consul - Consul は, サービスの発見, 監視, 設定のためのツールです.
- devd - 開発者向けのローカルウェブサーバ.
- discovery - 復元力のある中間層の負荷分散とフェイルオーバーのためのレジストリ.
- dudeldu - シンプルな SHOUTcast サーバー.
- etcd - 共有構成とサービス発見のための高可用性キー・バリューストア.
- Fider - Fider は顧客からのフィードバックを収集し, 整理するためのオープンプラットフォームです.
- Flagr - Flagr は, オープンソースの機能フラグ設定および A/B テストサービスです.
- flipt - Go と Vue.js で書かれた自己完結型の機能フラグソリューション.
- jackal - Go で書かれた XMPP サーバ.
- minio - Minio は分散オブジェクトストレージサーバです.
- nginx-prometheus - Prometheus への Nginx ログパーサーとエキスポーター.
- nsq - リアルタイム分散型メッセージングプラットフォーム.
- psql-streamer - データベースイベントを PostgreSQL から Kafka にストリーミングします.
- riemann-relay - Riemann イベントを負荷分散したり, Carbon に変換したりします.
- RoadRunner - ハイパフォーマンス PHP アプリケーションサーバ. ロードバランサとプロセスマネージャを備えています.
- SFTPGo - すべての機能を備え, 高度にカスタマイズ可能な SFTP サーバーソフトウェア.
- yakvs - ネットワーク化された小さなメモリ内のキー・バリューストア.
ストリームプロセシング
ストリーム処理とリアクティブプログラミングのためのライブラリとツール.
- go-streams - ストリームプロセシングライブラリ.
テンプレートエンジン
テンプレートとレキシングのためのライブラリとツール.
- ace - Ace は Slim と Jade に触発された Go の HTML テンプレートエンジンです.
- amber - Amber は, Go プログラミング言語用のエレガントなテンプレートエンジンです. HAML と Jade からインスピレーションを受けています.
- damsel - CSS セレクタを使用した HTML アウトライン, html/template パッケージなどによる拡張可能なマークアップ言語.
- ego - Go でテンプレートを書き込むための軽量なテンプレート言語. テンプレートは Go に翻訳され, コンパイルされます.
- extemplate - html/template 周りの小さなラッパーで, ファイルベースのテンプレートの継承を行うことができます.
- fasttemplate - シンプルで高速なテンプレートエンジン. テンプレートのプレースホルダーを text/template よりも10倍早く置き換えます.
- gofpdf - テキスト, 図面, イメージを高水準でサポートする PDF ドキュメントジェネレータ.
- goview - Goview は Go Web アプリケーションを構築するための html/template をベースにした, 軽量でシンプルな慣用的なテンプレートライブラリです.
- hero - Hero は便利で, 高速かつ強力な Go テンプレートエンジンです.
- jet - Jet テンプレートエンジン.
- kasia.go - HTML やその他のテキストドキュメントのためのテンプレートシステム.
- liquid - Shopify Liquid テンプレートの Go 実装.
- maroto - PDF を作成できます. Maroto は Bootstrap に触発され, gofpdfを使用しています. 早くて簡単.
- mustache - Mustache テンプレート言語の Go 実装.
- pongo2 - Django のような Go のテンプレートエンジン.
- quicktemplate - 高速でパワフルですが, 使いやすいテンプレートエンジンです. テンプレートを Go コードに変換してコンパイルします.
- raymond - Go での完全な handlebars の実装.
- Razor - Golang 用 Razor ビューエンジン.
- Soy - 公式スペック に従った Go の Closure テンプレート (別名 Soy テンプレート).
- velvet - Go での完全な handlebars の実装.
テスト
コードベースのテストとテストデータを生成するためのライブラリ.
テストフレームワーク
- apitest - 外部 HTTP 呼び出しのモックとシーケンス図のレンダリングをサポートする, REST ベースのサービスまたは HTTP ハンドラー用のシンプルで拡張可能な動作テストライブラリ.
- assert - カスタムアサーション用のビルディングブロックとともに, サイドネイティブのテストに沿って使用される基本アサーションライブラリ.
-
badio - Go の
testing/iotest
パッケージ拡張. - biff - BDD と互換性のある分岐テストフレームワーク.
- baloo - エンドツーエンドの HTTP API テストが容易に行える豊富な機能を備えている.
- charlatan - テストのための偽インタフェース実装を生成するツール.
- commander - Windows, macOS, Linux で動作する CLI アプリケーションをテストするためのツール.
- cupaloy - テストフレームワークのための簡単なスナップショットテストアドオン.
-
dbcleaner - Ruby の
database_cleaner
に触発された, テストのためのデータベースクリーンアップ. - dsunit - SQL, NoSQL, 構造化ファイルのデータストアテスト.
- endly - 宣言的 E2E 機能テスト.
- flute - HTTP クライアントテストフレームワーク.
- frisby - REST API テストフレームワーク.
- ginkgo - BDD テストフレームワーク.
- go-carpet - ターミナル上にテストカバレッジを表示するツール.
- go-cmp - 変数の値を比較するためのライブラリ.
- go-mutesting - Go ソースコードの Mutation テスト.
- go-testdeep - テストパッケージの拡張した, 非常に柔軟な深い比較が行える.
- go-vcr - 速く, 決定論的で正確なテストのために HTTP インタラクションを記録し, 再生する.
- goblin - Mocha に似たテストフレームワーク.
- gocheck - gotest より, 高度なテストフレームワークの代替案.
- GoConvey - Web UIとライブリロードを備えた BDD スタイルのフレームワーク.
- gocrest - 合成可能な hamcrest ライクな Go アサーションのためのマッチャー.
- godog - Cucumber または Behat ライクな BDD フレームワーク.
- gofight - Golang ルータのハンドラ API のテストフレームワーク.
- gogiven - YATSPEC ライクな BDD テスティングフレームワーク.
- gomatch - パターンに対して JSON をテストするために作成されたライブラリ.
- gomega - Rspec ライクな マッチャー/アサーションライブラリ.
- GoSpec - Golang ルータのハンドラ API のテストフレームワーク.
- gospecify - これにより, Go コードをテストするための BDD 構文が提供されます. rspec のようなライブラリを使っている人なら誰にでも馴染み深いはずです.
- gosuite - Go1.7 の Subtests を活用してセットアップ/ティアダウン機能を備えた軽量テストスイートをテストする.
- gotest.tools - Go テスティングパッケージのコレクション.
- Hamcrest - 入力値に適用すると自己記述型の結果を生成する, 宣言型 Matcher オブジェクトの流暢なフレームワーク.
- httpexpect - 簡潔で宣言的で使いやすいエンドツーエンドの HTTP および REST API テスト.
- jsonassert - JSON ペイロードが正しくシリアル化されていることを確認するためのパッケージ.
- restit - RESTful な API 統合テストの作成に役立つ Go のフレームワーク.
- schema - リクエストおよびレスポンスの JSON 検証を容易にします.
- testcase - 行動駆動開発のための慣用的なテストフレームワーク.
- testfixtures - データベースアプリケーションをテストするための Rails のテストフィクスチャのヘルパー.
- Testify - 標準的なテストパッケージへの拡張.
- testmd - マークダウン・スニペットをテスタブルな Go のコードに変換します.
- testsql - テスト実行前に SQL ファイルからテストデータを生成し, 実行後にクリアする.
- trial - 定型文をあまり導入することなく, 迅速かつ簡単に拡張可能なアサーション.
- Tt - シンプルでカラフルなテストツール.
-
wstest - websocket のユニットテストのための websocket クライアント
http.Handler
.
モック
- counterfeiter - 自己完結型モックオブジェクトを生成するためのツール.
- go-sqlmock - データベースのやりとりをテストするための Mock SQ Lドライバ.
- go-txdb - 主にテスト目的で単一トランザクションベースのデータベースドライバ.
- gock - 多彩な HTTP モッキングが簡単にできます.
- gomock - Go プログラミング言語のためのモッキングフレームワーク.
- govcr - Golang の HTTP モック:オフラインテストの HTTP インタラクションの記録と再生.
- hoverfly - 拡張可能なミドルウェアと使いやすい CLI を備えた, レコーディングと REST/SOAP API のシミュレーション HTTP(S) プロキシ.
- httpmock - 外部リソースからの HTTP レスポンスを簡単にモックする.
- minimock - Go インタフェース用モックジェネレータ.
-
mockhttp - Go
http.ResponseWriter
のためのモックオブジェクト
ファジー化と delta-debugging/reducing/shrinking
Selenium とブラウザコントロールツール
- cdp - Chrome デバッグプロトコルのタイプセーフバインディングで, ブラウザやそれを実装するその他のデバッグターゲットで使用できます.
- chromedp - Chrome, Safari, Edge, Android Webview, Chrome デバッギングプロトコルをサポートする, ブラウザ駆動/テスト.
- ggr - Selenium Wedriver リクエストを複数の Selenium ハブにルーティングおよびプロキシする軽量サーバー.
- selenoid - コンテナー内でブラウザーを起動する Selenium ハブ・サーバーの代替.
Fail インジェクション
- failpoint - Go 用の failpoints の実装.
テキスト処理
テキストの解析と操作のためのライブラリ.
特定のフォーマット
- align - テキストを揃える汎用アプリケーション.
- allot - CLI ツールおよびボットのための, プレースホルダおよびワイルドカードテキスト解析.
- bbConvert - bbCode を HTML に変換し, カスタム bbCode タグのサポートを追加できます.
- blackfriday - マークダウンプロセッサ.
- bluemonday - HTML サニタイザー.
- codetree - インデントされたコード (python, pixy, scarletなど) を解析し, ツリー構造を返します.
- colly - Gophers のための高速でエレガントなスクレイピングフレームワーク.
- commonregex - Go の共通正規表現のコレクション.
- dataflowkit - ウェブサイトを構造化されたデータに変換するための WEB スクレイピングフレームワーク.
- did - DID (Decentralized Identifiers) パーサーと Stringer.
- doi - 文書オブジェクト識別子 (doi) パーサー.
- editorconfig-core-go - Editorconfig ファイルのパーサとマニピュレータ
- enca - libenca の小さな CGO バインディング.
- genex - すべての正規表現に一致する文字列を数え, 展開する.
- github_flavored_markdown - コードブロックの強調表示, クリック可能なヘッダーアンカーリンク付きの GitHub 調の Markdown レンダラー (blackfriday を使用).
- go-fixedwidth - 固定幅のテキストフォーマット (リフレクション付きエンコーダ/デコーダ).
- go-humanize - 時間, 数値, およびメモリサイズを人間が判読可能なフォーマットにするためのフォーマッタ.
- go-nmea - NMEA パーサーライブラリ.
- go-runewidth - 文字または文字列の固定幅を取得する関数.
- go-slugify - 綺麗なスラッグを生成する. 多言語をサポート.
- go-toml - クエリサポートと便利な CLI ツールを備えた TOML フォーマット用のライブラリです.
- go-vcard - vCard のファーマットとパーサー.
- go-zero-width - Go のゼロ幅文字の検出と削除.
- gofeed - RSS フィードと Atom フィードのパーサー.
- gographviz - Graphviz DOT 言語のパーサー.
- gommon/bytes - バイトを文字列にフォーマットする.
- gonameparts - 人の名前を適切に分割する.
- goq - jQuery 構文 (GoQueryを使用) を用いた構造体タグを使用して HTML の宣言的な非整列化を行う.
- GoQuery - GoQuery は, jQuery に似た構文と一連の機能を Go 言語にもたらします.
- goregen - 正規表現からランダムな文字列を生成するためのライブラリ.
- goribot - シンプルな golang スパイダー/スクレイピングフレームワーク. 3行でスパイダーを作成できます.
- gotext - GNU gettext ユーティリティ.
- guesslanguage - ユニコードテキストの自然言語を決定する関数.
- htmlquery - HTML のための XPath クエリパケージ. XPath を用いて HTML ドキュメントからデータを取得・評価できます.
- inject - inject パッケージは reflect ベースのインジェクタを提供します.
- ltsv - 高性能 LTSV (ラベル付きタブ区切り値) リーダー.
- mxj - XML を JSON としてエンコードまたはデコードするか, [string] interface {}; をマップします. ドット表記法のパスとワイルドカードで値を抽出します.
- sdp - SDP: Session Description Protocol [RFC 4566].
- sh - Shell のパーサーとフォーマッター.
- slug - 多言語に対応した URL フレンドリーな slugify.
- Slugify - 文字列を処理する Go slugify アプリケーション.
- syndfeed - Atom 1.0 と RSS 2.0 のシンジケーションフィード.
- toml - TOML コンフィグレーションフォーマット (エンコーダ/デコーダ).
Utility
- gofuckyourself - Go のサニタイズベースフィルタ
- gotabulate - Go でテーブルデータを簡単にきれいに印刷.
- kace - 一般的なイニシャルを扱う一般的なケース変換.
- parseargs-go - 引用符とバックスラッシュを理解する文字列引数パーサ.
- parth - URL パスのセグメンテーション解析.
- radix - 高速な文字列並び替えアルゴリズム.
-
Tagify - 指定されたソースからタグのセットを生成します.
-
textwrap - Python の
textwrap
モジュールの実装.
-
textwrap - Python の
- TySug - キーボードレイアウトに関する代替案.
- xj2go - XML または JSON を Go 構造体に変換する.
- xurls - テキストからURLを抽出する.
サードパティー APIs
サードパーティ API にアクセスするためのライブラリ.
- amazon-product-advertising-api - Amazon Product Advertising API のための Go クライアントライブラリ.
- anaconda - Twitter 1.1 API の Go クライアントライブラリ.
- aws-sdk-go - Go 言語用の公式 AWS SDK.
- brewerydb - BreweryDB API へアクセスするための Go ライブラリ.
- cachet - Cachet (open source status page system) のGo クライアントライブラリ.
- circleci - CircleCI の API と相互作用するためのGoクライアントライブラリ.
- clarifai - Clarifai API と相互作用するためのGoクライアントライブラリ.
- codeship-go - Codeship API v2 と相互作用するクライアントライブラリ.
- coinpaprika-go - Coinpaprika の API と相互作用する Go クライアントライブラリ.
- discordgo - Discord Chat API の Go バインディング.
- ethrpc - Ethereum JSON RPC API の Go バインディング.
- facebook - Facebook Graph API をサポートする Go ライブラリ.
- fcm - Firebase クラウドメッセージングの Go ライブラリ
- gads - Google Adwords 非公式 API
- gami - Asterisk Manager Interface の Go ライブラリ.
- gcm - Google クラウドメセージングの Go ライブラリ.
- geo-golang - Google Maps, MapQuest, Nominatim, OpenCage, Bing, Mapbox, そして OpenStreetMap のジオコーディング/リバースジオコーディング API へアクセするための Go ライブラリ.
- github - GitHub REST API v3 へアクセスするための Go ライブラリ.
- githubql - GitHub GraphQL API v4 へアクセスするための Go ライブラリ.
- go-chronos - Chronos ジョブスケジューラと相互作用するライブラリ.
- go-hacknews - HackerNews API のための小さな Go ライブラリ.
- go-here - HERE ロケーションベース API 周りのクライアントライブラリ.
- go-imgur - imgur のための Go クライアントライブラリ.
- go-jira - Atlassian JIRA のための Go クライアントライブラリ.
- go-marathon - Mesosphere の Marathon PAAS と対話するための Go ライブラリ.
- go-myanimelist - MyAnimeList API へアクセスするための Go クライアントライブラリ.
- go-sophos - 依存関係のない Sophos UTM REST API のための Go クライアントライブラリ.
- go-sptrans - SPTrans Live API 用の Go クライアントライブラリ.
- go-telegraph - Telegraph API クライアント.
- go-trending - trending repositories と Github の developers へアクセスするための Go クライアントライブラリ.
- go-twitch - Twitch v3 API と対話するための Go クライアントライブラリ.
- go-twitter - Twitter v1.1 APIs のための Go クライアントライブラリ.
- go-unsplash - Unsplash.com API ための Go クライアントライブラリ.
- go-xkcd - xkcd API ための Go クライアントライブラリ.
- golyrics - Golyrics は Wikipedia のウェブサイトから音楽の歌詞データを取得する, Go ライブラリです.
- gomalshare - MalShare API malshare.com ライブラリ.
- GoMusicBrainz MusicBrainz WS2 クライアントライブラリ.
- google - Go 用 Google API の自動生成.
- google-analytics - 簡単な Google アナリティクスレポート作成用の簡単なラッパー.
- google-cloud - Google Cloud API Go クライアントライブラリ.
- google-email-audit-api - Google G Suite Email Audit API への Go クライアントライブラリ.
- gostorm - GoStorm は, Storm シェルと通信する Storm スパウトと Go を作成するために必要な通信プロトコルを実装した Go ライブラリです.
- hipchat - このプロジェクトは, Hipchat API 用の Golang クライアントライブラリを実装しています.
- hipchat (xmpp) - XMPP 上で HipChat と通信する Golang パッケージ.
- igdb - Internet Game Database API の Go クライアント.
- lastpass-go - LastPass API の Go クライアントライブラリ.
- libgoffi - ネイティブ libffi インテグレーションのためのライブラリアダプタトールボックス.
- Medium - Medium の OAuth2 API のための Golang SDK.
- megos - Apache Mesos クラスタへアクセスするための Go クライアントライブラリ.
- minio-go - Amazon S3 互換のクラウドストレージ用の Minio Go ライブラリ.
- mixpanel - Mixpanel は, イベントを追跡し, アプリケーションから Mixpanelへの Mixpanel プロファイル更新を送信するためのライブラリです.
- patreon-go - Patreon API の Go クライアントライブラリ.
- paypal - PayPal ペイメント API のラッパー.
- playlyfe - Playlyfe Rest API Go SDK
- pushover - Pushover API の Go ラッパー.
- rrdaclient - statdns.com API へアクセスするための Go ライブラリ.
- shopify - Shopify API に CRUD リクエストを行うためのライブラリ.
- simples3 - V4 Signing REST API を使用したシンプルで飾りっけなしの AWS S3 ライブラリ.
- slack - Slack API.
- smite - Smite game API へアクセスするための Go クライアントライブラリ.
- spotify - Spotify WEB API へアクセスするための Go クライアントライブラリ.
- steam - Steam ゲームサーバの Go ライブラリ.
- stripe - Stripe API の Go クライアント.
- textbelt - textbelt.com txt メッセージング API のクライアント.
- translate - Go オンライン翻訳パッケージ.
- Trello - Trello API の Go ラッパー.
- TripAdvisor - TripAdvisor API のラッパー.
- tumblr - Tumblr v2 API の Go ラッパー.
- uptimerobot - Uptime Robot v2 API のコマンドラインクライントとラッパー.
- vl-go - VerifID ID 検証レイヤー API クライアントライブラリ.
- webhooks - GitHub と Bitbucket の Webhook レシーバー.
- wit-go - wit.ai HTTP API の Go クライアント.
- ynab - YNAB API のための Go ラッパー.
- zooz - Zooz API の Go クライアント.
ユーティリティ
あなたの人生を楽にするための一般的なユーティリティとツール.
- apm - HTTP API を使用した Golang アプリケーションのプロセスマネージャ.
-
backscanner -
bufio.Scanner
に似たスキャナーですが, 指定された位置から逆順に読み込み, 行を返します. - blank - 文字列から空白と空白を確認または削除します.
- boilr - ボイラープレートテンプレートからプロジェクトを作成するためのすばらしい高速 CLI ツール.
- chyle - 複数の設定が可能な git リポジトリを使用した変更ログジェネレータ.
- circuit - Hystrix は, 効率的で機能的な回路遮断器パターンのGo実装です.
- circuitbreaker - サーキットブレーカ.
- clockwork - 単純な偽時計.
- cmd - OSX, Windows, Linux で Shell コマンドを実行可能するライブラリ.
- command - スレッドセーフのシリアルおよびパラレルディスパッチャを使用した Go のコマンドパターン.
- copy-pasta - S3 のようなストレージをバックエンドに使用するユニバーサルマルチワークステーションクリップボード.
- ctop - コンテナメトリックの Top-like インターフェース (e.g. htop).
- ctxutil - ユーティリティ関数のコレクション.
- dbt - 中央の信頼できるリポジトリから自己更新署名付きバイナリを実行するためのフレームワーク.
- Death - シグナルによる Go アプリケーションのシャットダウンの管理.
- Deepcopier - Go 用のシンプルな構造体コピー.
- delve - Go デバッガー.
- dlog - デバッグ呼び出しを削除せずに, リリースを小さくするコンパイル時制御のロガー.
- ergo - 異なるポート上で実行される複数のローカルサービスの管理が容易なります.
- evaluator - s 式に基づいて動的に式を評価します. シンプルで簡単に拡張できます.
- excelize - Microsoft Excel (XLSX) ファイルを読み書きするための Golang ライブラリ.
- filetype - このパッケージは, マジックナンバーシグネチャをチェックするファイルの種類を推論します.
- filler - "fill" タグを使って構造体を埋め込む小さなユーティリティ.
- filter - Go データのフィルタリング, サニタイズ, 変換を行います.
- fzf - Go で書かれたコマンドラインファジーファインダ.
- gaper - Go プロジェクトがクラッシュしたり, ファイルが変更されたときにビルドして再起動します.
- generate - 指定されたパスまたは環境変数で再帰的に go generate を実行し, 正規表現でフィルタリングできます.
- ghokin - Gherkin (Cucumber, Behat...) のための, 外部依存関係のない並列化されたフォーマッタ.
- git-time-metric - Git のためのシンプルでシームレスで軽量な時間トラッキング.
- go-astitodo - Go コードの TODO を解析する.
- go-bind-plugin - Golang プラグインによって出力されたシンボルをラッピングする go:generate ツール (1.8 only).
- go-bsdiff - bsdiff および bspatch ライブラリと CLI ツール.
- go-dry - DRY (don't repeat yourself) パッケージ.
- go-funk - ヘルパー (マップ, 検索, 包含, フィルター, チャンク, 逆順, ...) を提供する最新の Go ユーティリティーライブラリー.
- go-httpheader - ヘッダーフィールドに構造体をエンコードするための Go ライブラリ.
- go-problemdetails - 問題の詳細を処理するための Go パッケージ.
- go-rate - Go のタイムレートリミッタ.
- go-sitemap-generator - Go で書かれた XML サイトマップジェネレータ.
- go-trigger - Go グローバルイベントトリガー. イベントを ID で登録し, プロジェクトのどこからでもイベントをトリガーできます.
- goback - シンプルな指数バックオフパッケージ.
- godaemon - デーモンを書くためのユーティリティ.
- godropbox - Dropbox から Go サービス/アプリケーションを書くための共通ライブラリ.
- gohper - 開発に役立つさまざまなツール/モジュール.
- golarm - システムイベントによる火災警報.
- golog - 簡単で軽量な CLI ツールを使用して, タスクを追跡する.
- gopencils - REST API を簡単に使用するための小型でシンプルなパッケージ.
- goplaceholder - プレースホルダ画像を生成するための小さな Golang ライブラリ.
- goreadability - Facebook Open Graph と arc90 の読みやすさを使用した Web ページ要約抽出プログラム.
- goreleaser - Go バイナリをできるだけ早く簡単に提供する.
- goreporter - 静的解析, ユニットテスト, コードレビュー, コード品質レポート生成を行う Golang ツール.
- goseaweedfs - ほぼ完全な機能を備えた SeaweedFS クライアントライブラリ.
- gostrutils - 文字列操作と変換関数のコレクション.
-
gotenv -
.env
や Go のio.Reader
から環境変数を読み込みます. - gpath - リフレクトで Go の式を使って構造体フィールドへのアクセスを単純化するライブラリ.
- gubrak - lodash に似た, シンタックスシュガー付き Golang ユーティリティライブラリ.
- handy - 文字列ハンドラ/フォーマッタやバリデータのような多くのユーティリティやヘルパー.
- htcat - パラレルおよびパイプライン HTTP GET ユーティリティ.
- hub - ターミナルから github とやりとりするための追加の機能で git コマンドをラップします.
- hystrix-go - プログラマが定義したフォールバックの Hystrix パターン, 回路ブレーカを実装.
- immortal - *nix クロスプラットフォーム (OSに依存しない) スーパーバイザ.
- intrinsic - アセンブリコードを記述せずに x86 SIMD を使用する.
- jump - Jump は習慣を学ぶことによって, あなたをより速くナビゲートします.
- koazee - レイジー評価と関数型プログラミングに触発され, 配列を扱う際の手間を省きます.
- limiters - 構成可能なバックエンドと分散ロックを備えた Golang の分散アプリケーションのレートリミッター.
- lrserver - LiveReload サーバー.
- mc - Minio Client は, Amazon S3 互換のクラウドストレージおよびファイルシステムで動作するための最小限のツールを提供します.
- mergo - Golang で構造体とマップをマージするヘルパー. 構成のデフォルト値を設定するのに役立ち, 面倒な if 文を避ける.
- mimemagic - 超高性能 MIME スニッフィングライブラリ/ユーティリティ.
- mimesniffer - MIME タイプスニファ.
- mimetype - マジックナンバーに基づいて MIME タイプを検出するパッケージ.
- minify - HTML, CSS, JS, XML, JSON, および SVG ファイル形式用の高速ミニライザ.
- mmake - モダンな Make.
- moldova - 入力テンプレートに基づいてランダムデータを生成するユーティリティ.
- mole - SSH トンネルを簡単に作成できる CLI アプリ.
- mssqlx - データベースクライアントライブラリ. 任意のマスタスレーブ用のプロキシ, マスタマスタ構造. 軽量化と自動バランシングを念頭に置いて開発されています.
- multitick - アライメントされたティッカー用マルチプレクサ.
- myhttp - タイムアウトをサポートする HTTP GET リクエストを作成するためのシンプルな API.
- okrun - 走るエラースチームローラー.
- olaf - Go で実装された Twitter Snowflake.
- onecache - 複数のバックエンドストアをサポートするキャッシングライブラリ (Redis, Memcached, ファイルシステムなど)
- panicparse - 類似のゴルーチンをグループ化し, スタックダンプをカラー化する.
- peco - シンプルなインタラクティブなフィルタリングツール.
- pgo - PHP コミュニティのための便利な機能.
- pm - HTTP API を使用したプロセスマネージャー (i.e. goroutine).
- rclient - 読みやすく, 柔軟で, 使いやすい REST API クライアント.
- realize - ファイルウォッチャーとライブリロードでシステムを構築する. カスタムパスでファイルの変更を実行, 構築, 監視する.
- repeat - 再試行操作やハートビートに役立つさまざまなバックオフ戦略の実装.
- request - Go HTTP Requests for Humans™.
- rerate - Redis ベースのレートカウンタと Go のレートリミッタ.
- rest-go - REST API を操作するための多くの便利なメソッドを提供するパッケージ.
- rerun - ソースの変更時に Go アプリケーションを再コンパイルして再実行する.
- rest-go - REST API を操作するための多くの便利なメソッドを提供するパッケージ.
- resty - Ruby REST クライアントに触発された, Go 用のシンプルな HTTP および REST クライアント.
- retry - 成功するまで繰り返しアクションを実行するための最も先進的な機能メカニズム.
- retry - シンプルで詳細に設定可能な Go のリトライパッケージ.
- retry - Go 用のシンプルで簡単なリトライメカニズムパッケージ.
- retry - あなたの作業を確実にするための非常にシンプルなライブラリ.
- retry-go - 再試行をかんたんにする.
- robustly - 関数を弾力的に実行し, パニックを捕捉して再開する.
-
scan -
sql.Rows
を構造体, スライス, またはプリミティブ型に直接スキャンします. - serve - スタティック HTTP サーバー.
-
shutdown -
os.Signal
アクションのアプリシャットダウンフック - silk - Silk ネットフローファイルリダー.
- sliceconv - プリミティブ型間のスライス変換.
- slicer - スライスを使った作業が簡単になります.
- spinner - ターミナルスピナーにオプションを提供するパッケージ.
- sqlx - 優れたビルトインデータベース. SQL パッケージ上に一連の拡張機能を提供します.
- sslice - ソートされたスライスを作成します.
- Storm - BoltDB のためのシンプルで強力なツールキット.
- structs - 構造体を操作する簡単な関数を実装します.
- Task - シンプルな "Make" の代替.
- toolbox - スライス, マップ, マルチマップ, 構造体, 関数, データ変換ユーティリティ. サービスルータ, マクロエバリュエータ, トークナイザ.
- ugo - ugo は, Go の簡潔な構文を持つスライスツールボックスです.
- UNIS - Go の文字列ユーティリティ用 Common Architecture™.
- usql - usql は SQL データベース用の汎用コマンドラインインターフェイスです.
- util - 有用なユーティリティ関数の集合 (文字列, 並行性, 操作など).
- wuzz - HTTP 検査のためのインタラクティブな CLI ツール.
- xferspdy - Xferspdy は Golang にバイナリ差分とパッチライブラリを提供します.
UUID
UUID を扱うライブラリ.
- goid - RFC4122 準拠の V4 UUID の生成と解析.
- nanoid - 小さくて効率的な Go 固有の文字列 ID ジェネレーター.
- sno - メタデータが埋め込まれたコンパクトでソート可能な高速の一意の ID.
- ulid - ULID (Universally Unique Lexicographically Sortable Identifier) の実装.
- uniq - 手間がかからず, コマンドを使用した高速で一意の識別子.
- uuid - 高速または暗号品質のランダムノード識別子を使用して, UUID v1 の生成, エンコード, およびデコードする.
- uuid - ユニバーサルユニーク識別子 (UUID) の実装. UUID の作成と解析の両方をサポートします. 活発に開発されている satori uuid のフォークです.
- wuid - 非常に高速なユニークな数値ジェネレーター, UUID よりも10-135倍高速.
バリデーション
バリデーションのためのライブラリ.
- checkdigit - チェックディジットアルゴリズム (Luhn, Verhoeff, Damm) と計算機 (ISBN, EAN, JAN, UPCなど) を提供します.
- govalidator - 文字列, 数値, スライス, 構造体のバリデータとサニタイザ.
- govalidator - 単純なルールで Go リクエストデータを検証します. Laravel のリクエストの検証にインスパイアされました.
- jio - jio は joi に似た JSON スキーマバリデータです.
- ozzo-validation - 構造体タグの代わりに, 通常のコード構造体で指定された構成可能で, 拡張可能な, 検証規則を使用し, さまざまなデータ型 (構造体, 文字列, マップ, スライスなど) の検証をサポートします.
- terraform-validator - Terraform の規範と規則のバリデーター.
- validate - データ検証とフィルタリングのためのパッケージ. Struct, Request (Form, JSON, url.Values, Uploaded Files) データなどの機能の検証をサポートします.
- validate - このパッケージは, Go アプリケーションの検証を書くためのフレームワークを提供します.
- validator - Cross Field, Cross Struct, Map, Slice, Array ダイビングを含む Go Struct と Field バリデーション.
バージョン管理
バージョン管理のためのライブラリ.
- gh - GitHub Webhooks のスクリプト可能なサーバーと net/http ミドルウェア.
- git2go - libgit2 の Go バインディング.
- go-git - 純粋な Go で書かれた, 拡張性の高い Git の実装.
- go-vcs - Go で VCS リポジトリを操作し, 検査する.
- hercules - Git リポジトリのヒストリーから高度なグラフ等を生成できます.
- hgo - Hgo は, ローカルの Mercurial リポジトリへの読み取りアクセスを提供する, Go パッケージのコレクションです.
ビデオ
ビデオ操作のためのライブラリ.
- gmf - FFmpeg av* ライブラリの Go バインディング.
- go-astisub - Go で字幕を操作する (.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.).
- go-astits - MPEG トランスポートストリーム (.ts) を GO で解析し, 逆多重化します.
- go-m3u8 - Apple m3u8 プレイリストのパーサー&ジェネレーターライブラリ.
- goav - FFmpeg の Comphrensive Go バインディング.
- gst - GStreamer の Go バインディング.
- libgosubs - Go の字幕フォーマットサポート. .srt , .ttml , .ass をサポートします.
- libvlc-go - libvlc 2.X/3.X/4.X の Go バインディング (VLC メディアプレイヤーに使用されています).
- v4l - Go の Linux 用ビデオキャプチャライブラリ.
Web フレームワーク
フルスタック Web フレームワーク.
- aah - Go のスケーラブルで, パフォーマンスの高い, 迅速な開発 Web フレームワーク.
- Aero - Lighthouse のトップスコアを達成できる, 高パフォーマンスな WEB フレームワーク.
- Air - 理想的に洗練された Web フレームワーク.
- Banjo - Go のための非常にシンプルで強固な Web フレームワーク.
- Beego - beego は, Go プログラミング言語用のオープンソースで高性能な Web フレームワークです.
- Buffalo - Rails の生産性を Go で!
- Echo - 高性能, 最小限の Go Web フレームワーク.
- Fireball - より自然な感じの Web フレームワーク.
- Gin - Gin は Go で書かれた Web フレームワークです. 最大40倍高速の martini のような API を備えています.
- Ginrpc - Gin パラメーター自動バインドツール, Gin rpc ツール.
- Gizmo - New York Times が使用しているマイクロサービスツールキット.
- go-json-rest - RESTful JSON API をすばやく簡単にセットアップする方法.
- go-rest - Go のための小さくて悪い REST フレームワーク.
- Goa - Goa は, Go でリモート API とマイクロサービスを開発するための包括的なアプローチを提供します.
- goa - goa は Go における koajs のようなもので, ミドルウェアに基づいた柔軟で軽量, 高性能で拡張可能な Web フレームワークです.
- Golax - Google カスタムメソッド, ディープインターセプター, 再帰などをサポートする高速HTTPフレームワーク.
- Golf - Golf は, Go のための高速でシンプルで軽量な, マイクロウェブフレームワークです. 強力な機能が付属しており, Go 標準ライブラリ以外の依存関係はありません.
- Gondola - 高速なサイトを書くための Web フレームワーク.
- gongular - 入力マッピング/検証と (DI) 依存性注入を備えた高速 Go Web フレームワーク.
- hiboot - 自動設定と依存注入をサポートしたハイパフォーマンス WEB アプリケーションフレームワーク.
- Macaron - Macaron は, Go の高い生産性とモジュール設計の Web フレームワークです.
- mango - Mangoは, Rack 及び PEP333 に触発された, Go のためのモジュラー Web アプリケーションフレームワークです.
- Microservice - Golang で書かれたマイクロサービスの作成のためのフレームワーク.
- neo - Neo は, 非常にシンプルな API を備えた最小限かつ高速の Go Web Framework です.
- nio - モダンで最小限の生産的な Go HTTP フレームワーク.
- patron - Patron は, 生産性を重視したクラウドのベストプラクティスに従うマイクロサービスフレームワークです.
- Resoursea - リソースベースのサービスを迅速に作成するための REST フレームワーク.
- REST Layer - ほとんどの構成がコードを超えているデータベースの上に REST/GraphQL API を構築するためのフレームワーク.
- Revel - Go 言語用の高生産性 Web フレームワーク.
- rex - Rexは, net / httpと完全に互換性のある gollira/mux をベースにしたモジュラー開発用ライブラリです.
- rux - HTTP アプリケーションを構築するためのシンプルで高速な Web フレームワーク.
- sawsij - 高性能なデータ駆動型 Web アプリケーションを構築するための, 軽量なオープンソース Web フレームワーク.
- tango - Go 用のマイクロ & プラガブル Web フレームワーク.
- tigertonic - Dropwizard に触発された JSON Web サービスを構築するための Go フレームワーク.
- traffic - Sinatra に影響を受けた, Go の正規表現/パターンマルチプレクサと Web フレームワーク.
- uAdmin - Django に触発された, Go のためのすべての機能を備えた Web フレームワーク.
- utron - Go (Golang) の軽量 MVC フレームワーク.
- vox - Koa に強く影響を受けた, WEB フレームワーク.
- WebGo - Web アプリケーションを構築するためのマイクロフレームワーク. ハンドラチェイン, ミドルウェア, コンテクストインジェクションなどがあります. 標準ライブラリに準拠した HTTP ハンドラ (http.HandlerFunc など) を使用しています.
- YARF - 迅速かつ簡単な方法で REST API と Web サービスを構築するために設計された, 高速マイクロフレームワーク.
ミドルウェア
Actual ミドルウェア
- client-timing - Server Timing ヘッダー用の HTTP クライアント.
- CORS - API に簡単に CORS 機能を追加できます.
- formjson - JSON 入力を標準フォームとして透過的に処理する POST.
- go-server-timing - Server-Timing ヘッダーを追加/解析します.
- Limiter - デッドシンプルレートミドルウェア.
- ln-paywall - Lightning Network (Bitcoin) を使用してリクエストごとにAPIを収益化するミドルウェア.
- Tollbooth - レート 制限 HTTP リクエストハンドラ.
-
XFF -
X-Forwarded-For
ヘッダーとフレンドを処理する.
HTTP ミドルウェアを作成するためのライブラリ
- alice - Go 用の堅牢なミドルウェアチェーン.
- catena - http.Handler ラッパーカテネーション ("chain" と同じ API).
- chain - スコープ付きデータ (ネット/コンテキストベースの「ミドルウェア」) を使用したハンドラーラッパーチェーン.
- go-wrap - net/http 用の小さなミドルウェアパッケージ.
- gores - HTML, JSON, XML などのレスポンスを処理する Go パッケージ. RESTful API に便利.
- interpose - Golang のためのミニマル net/http ミドルウェア.
- muxchain - 軽量なミドルウェア for net/http.
- negroni - Golang のための慣用 HTTP ミドルウェア.
- render - JSON, XML, および HTML のテンプレートレスポンスを簡単にレンダリングするためのパッケージ.
- rye - WT, CORS, Statsd, および Go 1.7 コンテキストをサポートする Tiny Go ミドルウェアライブラリ.
- stats - Web アプリケーションに関するさまざまな情報を保存するGoミドルウェア.
ルータ
- alien - 軽量で高速な HTTP ルータ.
- bellt - シンプルな Go HTTP ルーター.
- Bone - 恐ろしく高速な HTTP マルチプレクサ.
- Bxog - Go のためのシンプルで高速な HTTP ルーター. さまざまな難易度, 長さ, ネスティングのルートで動作します. また, 受信したパラメータから URL を作成できます.
- chi - ネット/コンテキスト上に構築された小型で高速かつ表現力豊かな HTTP ルータ.
-
fasthttprouter -
httprouter
から分岐した高性能ルータ. 最初のルータはfasthttp
に適合します. - FastRouter - Go で書かれた高速で柔軟な HTTP ルータ.
- gocraft/web - Go の mux とミドルウェアパッケージ.
-
Goji - Gojiは, 最小/柔軟性のある HTTP リクエストマルチプレクサで,
net / context
をサポートしています. - goroute - シンプルで強力な HTTP リクエストマルチプレクサ.
- GoRouter - GoRouter は, ネット/コンテキストをサポートするミドルウェアを, リクエストルータに提供するサーバ/API マイクロフレームワーク, HTTP リクエストルータ, マルチプレクサ, マルチプレクサです.
- gowww/router - net/http.Handler インターフェースと完全に互換性のある, とてつもなく高速な HTTP ルーター.
- httprouter - 高性能ルータ. これと標準の HTTP ハンドラを使用して, 非常に高性能な Web フレームワークを形成できます.
- httptreemux - Go 用の高速で柔軟なツリーベースの HTTP ルーター. httprouter からインスピレーション.
- lars - Go 用の軽量で高速で拡張可能なゼロ割り当て HTTP ルータは, カスタマイズ可能なフレームワークの作成に使用されます.
- mux - 強力な URL ルーターとディスパッチャー.
- ozzo-routing - 正規表現のルートマッチングをサポートする非常に高速な Go (golang) HTTP ルータ. RESTful API の構築を完全サポート.
- pure - Pure は, Go の「net/http」パッケージのネイティブ実装をベースとする高速基数ツリーベースの HTTP ルータです.
- Siesta - ミドルウェアとハンドラを書くための合成可能なフレームワーク.
- vestigo - パフォーマンスの高いスタンドアロンの HTTP 準拠の URL モバイルアプリケーション用の URL ルータ.
- violetear - Go HTTP ルーター.
-
xmux -
net/context
をサポートするhttprouter
に基づく高性能マルチプレクサ. - xujiajun/gorouter - シンプルで高速な HTTP ルータ.
Windows
- d3d9 - Direct3D9 の Go バインディング.
- go-ole - Go による Win32 OLE 実装.
- gosddl - SDDL 文字列からユーザーフレンドリーな JSON への変換プログラム. SDDL は, 所有者, プライマリグループ, DACL, SACL の4つの部分で構成されています.
XML
XML を操作するためのライブラリとツール.
- XML-Comp - フォルダ, ファイル, タグの差分を生成するシンプルなコマンドライン XML 比較ツール.
- xml2map - Go で書かれた XML を MAP に変換するコンバーター.
- xmlwriter - libxml2 の xmlwriter モジュールに基づく, 手続き型 XML 生成 API.
- xpath - XPath パッケージ for Go.
-
xquery - XQuery を使用すると, XPath 式を使用して HTML/XML 文書からデータを抽出できます.
zek - XML から構造体を生成する.
ツール
Go ソフトウェアとプラグイン.
コード解析
- apicompat - 後方互換性のない変更のために, Go プロジェクトの最近の変更をチェックします.
- dupl - コード重複検出ツール.
- errcheck - Errcheck は, Go プログラムのチェックされていないエラーをチェックするプログラムです.
- gcvis - Go プログラムの GC トレースデータを視覚化しリアルタイムで表示.
- go-checkstyle - checkstyle は Java の checkstyle のようなスタイルチェックツール. このツールは Java checkstyle, golint に触発されています. スタイルは, Go コードレビューのコメントを参照しています.
- go-cleanarch - Go-cleanarch は, 依存ルールや Go プロジェクトのパッケージ間の相互作用など, クリーンアーキテクチャールールを検証するために作成されました.
- go-critic - 手元のリンターでは実装されていないチェックをもたらすソースコードリンター.
- go-mod-outdated - Go プロジェクトの古い依存関係を見つけるための簡単な方法.
- go-outdated - 時代遅れのパッケージを表示するための, コンソールアプリケーション.
- goast-viewer - Web ベースの Golang AST ビジュアライザ.
- GoCover.io - GoCover.io は, Golang パッケージのサービスとしてのコードカバレッジを提供します.
- goimports - Go インポートを自動的に修正 (追加, 削除) するツール.
- GolangCI - GolangCI は, GitHub プルリクエスト用の自動 Golang コードレビューサービスです. サービスのソースコードはオープンソースで, オープンソースプロジェクト版は無料です.
- GoLint - Golint は, Go のソースコードのリンターです.
- Golint online - Golint パッケージを使用して, GitHub, Bitbucket そして Google Project Hosting 上にある, オンライン Go ソースファイルをリントする.
- GoPlantUML - 構造とそれらの間の関係を持つインターフェイスに関する情報を含むテキストプランタンプクラス図を生成するライブラリと CLI.
- goreturns - func の戻り値の型に合わせてゼロ値の return 文を追加します.
- gosimple - gosimple はコードの簡素化を専門とする Go ソースコードのリンターです.
- gostatus - Go パッケージを含むリポジトリのステータスを表示する, コマンドラインツールです.
- lint - Go テストの一部としてリンターを実行する.
- php-parser - Go で書かれた PHP パーサ.
- staticcheck - staticcheck は, ReSharper for C# のような, 慣れ親しんだ静的解析チェックを大量に適用するツールです.
- tarp - tarp は, Go のソースコードに直接的な単体テストを行わず, 関数とメソッドを発見することができます.
- unconvert - Go ソースから不要な型変換を削除する.
- unused - 未使用の定数, 変数, 関数, およびタイプを Go コードから検出します.
- validate - タグ付きの構造体フィールドを自動的に検証します.
エディタプラグイン
- Go plugin for JetBrains IDEs - JetBrains IDEs のための Go プラグイン.
- go-language-server - VSCode を言語サーバープロトコルをサポートする言語サーバーにするためのラッパー.
- go-mode - GNU/Emacs のための Go モード.
- go-plus - オートコンプリート, フォーマット, シンタックスチェック, リンテイング, および鑑定を追加する Atom 用 Go (Golang) パッケージ.
- gocode - Go プログラミング言語用の自動補完デーモン.
- goprofiling - この拡張機能は, VS Code に Go 言語のベンチマークプロファイリングサポートを追加します.
- GoSublime - コード補完と他の IDE のような機能を提供するテキストエディタ SublimeText 3 用の Golang プラグインコレクション.
- gounit-vim - ファンクションまたはメソッドのシグネチャを元に Go テストを生成できる Vim プラグイン.
- theia-go-extension - Theia IDE の言語サポート.
- vim-compiler-go - 保存時に構文エラーを強調表示する Vim プラグイン.
- vim-go - Vim の Go 開発プラグイン.
- vscode-go - Go 言語のサポートを提供する Visual Studio コード (VSコード) の拡張機能.
- Watch - ファイルに変更が加わった際に acme コマンドを実行する.
Go 生成ツール
- generic - Go の柔軟なデータ型.
- genny - Go のためのエレガントジェネリックス.
- gonerics - Go の慣用ジェネリックス.
- gotests - ソースコードから Go テストを生成する.
- gounit - 作成したテンプレートから Go テストを生成できる.
-
hasgo -
slice
に Haskell かえあヒントを得た関数を追加します. - re2dfa - 正規表現を有限ステートマシンに変換し, Go ソースを出力する.
- TOML-to-Go - 即座にブラウザで TOML を Go タイプに変換します.
Go ツール
-
colorgo - カラー化された
go build
出力のためのgo
コマンドのラッパー. - depth - インポートを分析してパッケージの依存関係ツリーを可視化する.
- gb - Go プログラミング言語用の使いやすいプロジェクトベースのビルドツール.
- generator-go-lang - 新しい Go プロジェクトを始めるための Yeoman ジェネレータ.
- gilbert - Go プロジェクトのシステムおよびタスクランナーをビルドします.
- go-callvis - ドットフォーマットを使用して Go プログラムのコールグラフを視覚化する.
- go-pkg-complete - go と wgo の bash 補完.
- go-swagger - Go のための Swagger 2.0 実装. Swagger は RESTful API のシンプルで強力な表現です.
-
godbg - 開発中の迅速で簡単なデバッグのための Rust の
dbg!
マクロの実装. - OctoLinker - GitHub 用の OctoLinker ブラウザ拡張機能を使用して Go ファイルを効率的にナビゲートします.
-
richgo - テキストデコレーションで
go test
の出力を充実させましょう. - rts - RTS: response to struct. サーバーレスポンスから構造体を生成する.
ソフトウェアパッケージ
Goで書かれたソフトウェア.
DevOps ツール
- aptly - aptly は Debian リポジトリ管理ツールです.
- aurora - ウェブベースのクロスプラットフォーム Beanstalkd キューサーバコンソール.
- cfmt - Bootstrap color クラスに触発された文脈的な fmt.
- awsenv - プロファイルの Amazon (AWS) 環境変数をロードする小さなバイナリ.
- Blast - API 負荷テストとバッチジョブ用の簡単なツール.
- bombardier - 高速なクロスプラットフォーム HTTP ベンチマークツール.
- bosun - 時系列アラートフレームワーク.
- DepCharge - 大規模プロジェクトの多くの依存関係にまたがるコマンドの実行を調整するのに役立ちます.
- Dockerfile-Generator - Go ライブラリと, さまざまな入力チャネルを使用して有効な Dockerfile を生成する実行可能ファイル.
- dogo - ソースファイルの変更を監視し, 自動的にコンパイルして実行する (再起動する).
- drone-jenkins - バイナリ, Docker, または Drone CI を使用して下流の Jenkins ジョブをトリガする.
- drone-scp - バイナリ, Docker または Drone CI を使用して SSH 経由でファイルと成果物をコピーする.
- Dropship - cdn 経由でコードをデプロイするためのツール.
-
easyssh-proxy -
ProxyCommand
を介した SSH と SCP のダウンロードによる簡単なリモート実行のための Go パッケージ. - fac - Git マージコンフリクトを修正するためのコマンドラインツール.
- gaia - 様々なプログラミング言語で強力なパイプラインを構築する.
- Gitea - Gogs のフォーク. 完全にコミュニティ駆動型.
- gitea-github-migrator - すべての GitHub リポジトリ, Issues, マイルストーン, ラベルを Gitea インスタンスに移行します.
- go-furnace - Go で書かれたホスティングソリューション. AWS, GCP または DigitalOcean へ簡単にデプロイできます.
- go-selfupdate - あなたの Go アプリケーションを自動更新できるようにする.
- gobrew - gobrew を使うと, 複数のバージョンの go を簡単に切り替えることができます.
- godbg - Web ベースの gdb フロントエンドアプリケーション.
- Gogs - Go プログラミング言語での自己ホスト Git サービス.
- gonative - Cgo 対応バージョンの stdlib パッケージを使用して, すべてのプラットフォームでクロスコンパイルできる Go ビルドを作成するツール.
-
govvv - Go バイナリにバージョン情報を簡単に追加するための
go build
のラッパー. - gox - 驚くほどシンプルで, 大きすぎない Go のクロスコンパイルツール.
- goxc - クロスコンパイルとパッケージングを中心とした Go 用のビルドツール.
- grapes - ssh でコマンドを簡単に配布できるように設計された軽量ツール.
- GVM - GVM は Go バージョンを管理するためのインタフェースを提供します.
- Hey - Hey は, Web アプリケーションの負荷診断を行うための小さなプログラムです.
- jcli - Jenkins CLI を使用すると, Jenkins の管理が簡単になります.
- kala - シンプルでモダンでパフォーマンスの高いジョブスケジューラ.
- kcli - Kafka のトピック/パーティション/メッセージを検査するためのコマンドラインツール.
- kubernetes - Google の Docker コンテナクラスタマネージャ.
- lstags - さまざまなレジストリ間で Docker イメージを同期するためのツールと API.
- lwc - UNIX の wc コマンドのライブアップデート版.
- manssh - manssh は ssh エイリアスの設定を簡単に管理するためのコマンドラインツールです.
- Moby - コンテナベースのシステムを構築するコンテナエコシステムの共同プロジェクト.
- Mora - MongoDB ドキュメントとメタデータにアクセスするためのRESTサーバー.
- ostent - システムメトリックを収集し, 表示します. オプションで Graphite および/または InfluxDB にリレーできます.
- Packer - Packer は, 単一のソース構成から複数のプラットフォームに対して同一のマシンイメージを作成するためのツールです.
- Pewpew - 柔軟な HTTP コマンドラインストレステスター.
- Pomerium - Pomerium はアイデンティティを意識したアクセスプロキシです.
- Rodent - Rodent は, Go バージョン, プロジェクト, および依存関係を管理するのに役立ちます.
- s3gof3r - Amazon S3 への大規模オブジェクトの高速転送用に最適化された, 小さなユーティリティ/ライブラリ.
- Scaleway-cli - コマンドラインから BareMetal サーバーを管理する (Docker と同じように).
- script - DevOps およびシステム管理タスクのために Go でシェルのようなスクリプトを簡単に記述できます.
- sg - 前の応答に基づいて特定のサーバーストレスの各呼び出しの間に応答コードとデータを使用する可能性がある, 一連の HTTP エンドポイント (ab など) をベンチマークします.
- skm - SKM はシンプルで強力な SSH キーマネージャーです. 複数の SSH キーを簡単に管理するのに役立ちます.
- StatusOK - サーバーがダウンしているか応答時間が予想以上に長くなったときに, あなたのウェブサイトと REST API を使用してSlack に通知が送られます.
- terraform-provider-openapi - 公開された API の定義を含む OpenAPI ドキュメントに基づいて, 実行時に動的に自身を構成する Terraform プロバイダープラグイン.
- traefik - 複数のバックエンドをサポートするリバースプロキシとロードバランサ.
- Vegeta - HTTP 負荷テストツールとライブラリ.
- webhook - サーバー上でコマンドを実行する HTTP エンドポイント (フック) を作成するツール.
- Wide - Golang を使用したチーム向けの Web ベース IDE.
- winrm-cli - Windows マシンでコマンドをリモートで実行するための cli ツール.
その他のソフトウェア
- borg - bash スニペット用のターミナルベース検索エンジン.
- boxed - Dropbox ベースのブログエンジン.
- Cherry - ちいさな Web チャットサーバー.
- Circuit - クラウドアプリケーションを含む, サービスおよびホストの管理, 発見, 同期およびオーケストレーションのための, プログラム可能なプラットフォームとしてのサービス (PaaS) および/またはサービスとしてのインフラストラクチャ (IaaS) です.
- Comcast - ネットワーク接続の不良をシミュレートする.
- confd - etcd や consul のテンプレートやデータを使って, ローカルのアプリケーション設定ファイルを管理する.
- croc - あるコンピューターから別のコンピューターにファイルまたはフォルダーを簡単かつ安全に送信します.
- DDNS - バックエンドとしてのデジタルオーシャンネットワーキング DNS を備えた, 個人用 DDNS クライアント.
- Docker - 開発者やシステム管理者向けの分散アプリケーション用オープンプラットフォーム.
- Documize - SaaS ツールのデータを統合する, 最新の wiki ソフトウェア.
- drive - コマンドラインでの Google ドライブクライアント.
- Duplicacy - ロックフリーの重複排除のアイデアに基づく, クロスプラットフォームのネットワークおよびクラウドバックアップツール.
- gfile - WebRTC を介して, 第三者なしで2台のコンピューター間でファイルを安全に転送できます.
- Go Package Store - あなたの GOPATH 上の Go パッケージのアップデートを表示するアプリケーション.
- go-peerflix - Video ストリーミング・トレント・ライブラリ.
- GoBoy - Go 言語で書かれた ニンテンドーゲームボーイカラーのエミュレータ.
- gocc - Gocc は Go 用のコンパイラキットです.
- GoDNS - Go で書かれたダイナミックな DNS クライアントツールで, DNSPod と HE.net をサポートします.
- GoDocTooltip - Go Doc サイトの Chrome エクステンション. ファンクションリストにツールヒントとしての機能の説明が表示されます.
- GoLand - フル機能のクロスプラットフォーム Go IDE.
- Gor - 実稼働環境からステージング/開発環境へ, リアルタイムでトラフィックを再生するための Http トラフィックレプリケーションツール.
- hugo - 高速でモダンな静的 WEB サイトエンジン.
- ide - ブラウザからアクセスできる IDE. Go と Go サーバーで設計されています.
- ipe - GO で書かれた, Pusher クライアントライブラリと互換性のあるオープンソースの Pusher サーバ実装.
- joincap - 複数の pcap ファイルをマージするためのコマンドラインユーティリティ.
- Juju - クラウドに依存しないサービスの展開とオーケストレーション - EC2, Azure, Openstack, MAAS などをサポート.
- Leaps - 操作変換を用いたペアプログラミングサービス.
- lgo - Jupyter を使ったインタラクティブな Go プログラミング. コード補完, コード検査, 100% Go 互換をサポートしています.
- limetext - Lime Text は, 主に, Sublime Text のフリーでオープンソースのソフトウェアの後継者になることを目指して開発された強力でエレガントなテキストエディタです.
- LiteIDE - LiteIDE はシンプルでオープンソースのクロスプラットフォームの Go IDE です.
- mockingjay - 1つの構成ファイルを用いて, 偽の HTTP サーバーとカスタマードリブンの契約を行います. サーバーをランダムに誤動作させて, より現実的なパフォーマンステストを行うのに役立てることもできます.
- myLG - Go で書かれた, コマンドラインネットワーク診断ツール.
- naclpipe - Go で書かれた簡単な NaCL EC25519 ベースの暗号パイプツール.
- nes - Go で書かれたスーパーファミコン (NES) エミュレータ.
- orange-cat - Go で書かれたMarkdownプレビューア.
- Orbit - コマンドを実行してテンプレートからファイルを生成するためのシンプルなツール.
- peg - Parsing Expression 文法は, Packrat パーサジェネレータの実装です.
- Pipe - 小さく, 美しいブログプラットフォーム.
- restic - バックアッププログラムの重複排除.
- scc - Sloc Cloc and Code は, 複雑さの計算と COCOMO による推定を備えた非常に高速で正確なコードカウンターです.
- Seaweed File System - O(1) ディスクシークによる, 高速でシンプルかつスケーラブルな分散ファイルシステム.
- shell2http - http サーバ経由でのシェルコマンドの実行 (プロトタイプまたはリモートコントロール用) ができる.
- snap - 強力なテレメトリフレームワーク.
- Snitch - 誰かが Tsuru を介してアプリケーションをデプロイしたときに, チームと多くのツールに通知を行う簡単な方法.
-
Stack Up - Stack Up は, 超シンプルなデプロイメントツールです. - Unix オンリー - サーバーネットワークのための
make
だと思ってください. - syncthing - オープンで分散化されたファイル同期ツールとプロトコル.
- term-quiz - あなたのターミナルでクイズ.
- toxiproxy - 自動テストのためのネットワークとシステム条件をシミュレートするプロキシ.
- tsuru - サービスソフトウェアとしての拡張性のあるオープンソースプラットフォーム.
- vFlow - 高性能で, スケーラブルで信頼性の高い IPFIX, sFlow および Netflow コレクタ.
- wellington - Sass プロジェクト管理ツール. スプライト関数で言語を拡張 (Compass のように) できます.
リソース
新しい Go ライブラリを発見しよう.
ベンチマーク
- autobench - 異なる Go バージョン間のパフォーマンスを比較するフレームワーク.
- go-benchmark-app - 強力な HTTP ベンチマークツールで, Аb, Wrk, Siege ツールが混在しています. ベンチマークと比較結果の統計と各種パラメータの収集ができます.
- go-benchmarks - いくつかの雑多な Go のマイクロベンチマーク. いくつかの言語機能を代替アプローチと比較する.
- go-http-routing-benchmark - Go HTTP リクエストルータのベンチマークと比較.
- go-web-framework-benchmark - Go ウェブフレームワークのベンチマーク.
- go_serialization_benchmarks - Go シリアル化メソッドのベンチマーク.
- gocostmodel - Go 言語の一般的な基本操作のベンチマーク.
- golang-sql-benchmark - 一般的な Go データベース/SQL ユーティリティのベンチマークのコレクション.
- gospeed - 言語構成の速度を計算するためのマイクロベンチマーク.
- kvbench - Key/Value データベースベンチマーク.
- skynet - Skynet 1M スレッドベンチマーク.
- speedtest-resize - Go 言語のさまざまな画像サイズ変更アルゴリズムの比較.
カンファレンス
- Capital Go - Washington, D.C., USA.
- dotGo - Paris, France.
- GoCon - Tokyo, Japan.
- GoDays - Berlin, Germany.
- GoLab - Florence, Italy.
- GolangUK - London, UK.
- GopherChina - Shanghai, China.
- GopherCon - Denver, USA.
- GopherCon Australia - Sydney, Australia.
- GopherCon Brazil - Florianópolis, BR.
- GopherCon Europe - Berlin, Germany.
- GopherCon India - Pune, India.
- GopherCon Israel - Tel Aviv, Israel.
- GopherCon Russia - Moscow, Russia.
- GopherCon Singapore - Mapletree Business City, Singapore.
- GopherCon Vietnam - Ho Chi Minh City, Vietnam.
- GothamGo - New York City, USA.
- GoWayFest - Minsk, Belarus.
電子書籍
- A Go Developer's Notebook
- An Introduction to Programming in Go
- Build Web Application with Golang
- Go 101 - Go構文/セマンティクスとあらゆる種類の詳細に焦点を当てた本.
- Building Web Apps With Go
- Go Bootcamp
- Go Succinctly - in Persian.
- GoBooks - 厳選された Go books.
- Learning Go
- Network Programming With Go
- The Go Programming Language
- The Golang Standard Library by Example (Chinese)
- Web Application with Go the Anti-Textbook
- Writing A Compiler In Go
- Writing An Interpreter In Go
Gophers
- Free Gophers Pack - ベクターとラスターによるイラストと絵文字の Gopher グラフィックパック.
- Go-gopher-Vector - Go gopher Vector Data [.ai, .svg]
- gopher-logos - adorable gopher logos
- gopher-stickers
- gopher-vector
- gophericons
- gopherize.me - Gopherize yourself
- gophers - Gopher artworks by Ashley McNamara
- gophers - Free gophers
- gophers - ランダム gopher グラフィックス.
- gophers - Gopher 編みぐるみパターン.
ミートアップ
- Basel Go Meetup
- Brisbane Gophers
- Canberra Gophers
- Go Language NYC
- Go London User Group
- Go Toronto
- Go User Group Atlanta
- GoBridge, San Francisco, CA
- GoJakarta
- Golang Amsterdam
- Golang Argentina
- Golang Baltimore, MD
- Golang Bangalore
- Golang Belo Horizonte - Brazil
- Golang Boston
- Golang Bulgaria
- Golang Cardiff, UK
- Golang Copenhagen
- Golang DC, Arlington, VA
- Golang Dorset, UK
- Golang Gurgaon, India
- Golang Hamburg - Germany
- Golang Israel
- Golang Joinville - Brazil
- Golang Korea
- Golang Lima - Peru
- Golang Lyon
- Golang Marseille
- Golang Melbourne
- Golang Mountain View
- Golang New York
- Golang Paris
- Golang Pune
- Golang Singapore
- Golang Stockholm
- Golang Sydney, AU
- Golang São Paulo - Brazil
- Golang Taipei
- Golang Vancouver, BC
- Golang Казань
- Golang Москва
- Golang Питер
- GoSF - San Francisco, CA
- Istanbul Golang
- Seattle Go Programmers
- Ukrainian Golang User Groups
- Utah Go User Group
- Women Who Go - San Francisco, CA
ウェブサイト
- Awesome Go @LibHunt - Go ツールボックス.
- Awesome Remote Job - すばらしいリモートジョブのリスト. 彼らの多くは Go ハッカーを探しています.
- awesome-awesomeness - 他の驚くほど素晴らしいリスト.
- CodinGame - Go 言語学習のために実践的な例として, 小さなゲームを使ってインタラクティブなタスクを解決していきます.
- Go Blog - 公式 Go ブログ.
- Go Challenge - Go のエキスパートからフィードバックをもらい, 問題を解決することで Go を学ぶ.
- Go Community on Hashnode - Hashnode 上の Gopher コミュニティ.
- Go Forum - Go について議論するためのフォーラム.
- Go In 5 Minutes - 1 つのことを終わらせることに焦点を当てた, 5 分間のスクリーンキャスト.
- Go Projects - Go コミュニティ wiki のプロジェクト一覧.
- Go Report Card - Go パッケージのレポートカード.
- gocryforhelp - 手助けを必要としている Go プロジェクトの一覧. Go のオープンソースを始めるのに最適です.
- godoc.org - オープンソースの Go パッケージドキュメンテーション.
- Golang Developer Jobs - Golang 関連ロールの開発者ジョブ.
- Golang Flow - アップデート, ニュース, パッケージなどを投稿する.
- Golang News - Go プログラミングについてのニュース.
- golang-graphics - Go 画像, グラフィックス, アートのコレクション.
- golang-nuts - Go メーリングリスト.
- Google Plus Community - #golang 愛好家向けの Google+ コミュニティ.
- Gopher Community Chat - Gophers のための Slack コミュニティ (Understand how it came).
- Gophercises - 新進 Gopher のための無料コーディング演習.
- gowalker.org - Go Project API ドキュメント.
- json2go - 高度な JSON to Go 構造変換 - オンラインツール.
- justforfunc - Francesc Campoy @francesc が主催する Go プログラミング言語のヒントとテクニックに特化した Youtube チャンネル.
- Made with Golang
- r/Golang - Go についてのニュース.
- studygolang - 中国の Go 学習コミュニティ.
- Trending Go repositories on GitHub today - 新しい Go ライブラリを見つけるのに良いサイト.
- TutorialEdge - Golang
チュートリアル
- 50 Shades of Go - Go 言語の新規開発者が陥りやすい罠や誤りの例.
- A Guide to Golang E-Commerce - Go で E サイトを構築する (デモあり).
- A Tour of Go - Go のインタラクティブツアー.
- Build web application with Golang - Golang で Web アプリケーションを構築する方法を紹介する電子書籍.
- Building Go Web Applications and Microservices Using Gin - Gin に慣れて, 定型コードを減らしてパイプラインを処理するリクエストを構築する方法を知る.
- Caching Slow Database Queries - 遅いデータベースクエリをキャッシュする方法.
- Canceling MySQL - MySQL クエリをキャンセルする方法.
- Ethereum Development with Go - Go で Ethereum 開発するための本.
- Games With Go - プログラミングとゲーム開発について学ぶビデオシリーズ.
- Go By Example - 注釈付きのサンプルプログラムを使用した, Go への実践的な紹介.
- Go Cheat Sheet - Go のリファレンスカード.
- Go database/sql tutorial - database/sql へのイントロダクション.
- Go Playground for iOS - モバイルデバイスでスニペットをインタラクティブに編集して再生することができる.
- Go WebAssembly Tutorial - Building a Simple Calculator
- go-patterns - Go デザインパターン, レシピ, イディオムのキュレーションリスト.
- Golang for Node.js Developers - Node.js と比較しながら学習できるチュートリアル.
- Golangbot - Go でプログラミングを始めるためのチュートリアル.
- GolangCode - 毎日の問題に取り組むのに役立つコードスニペットとチュートリアルのコレクション.
- Hackr.io - Go プログラミングコミュニティーによって管理されている, Go を学ぶのにベストなオンラインチュートリアル.
- How to Use Godog for Behavior-driven Development in Go - Godog を使い始める - Go アプリケーションの構築とテストのための行動主導の開発フレームワーク.
- Learn Go with TDD - Go でのテスト駆動開発を学ぶ.
- Learning Golang - From zero to hero - 初心者のための Go 言語.
- package main - Go 言語による開発についての YouTube チャンネル.
- Programming with Google Go - Go をゼロから学習する Coursera のスペシャルコース.
- The world’s easiest introduction to WebAssembly with Golang
- Working with Go - 経験豊富なプログラマーのためのイントロ.
- Your basic Go - ハウツーとチュートリアルのコレクション.