ソースコードを参照できないオブジェクトも含め、JavaオブジェクトとJSONを相互変換できるJavaライブラリ。
duke-git/lancet
lodashに着想を得た、文字列、スライス、日時、ネットワーク、暗号などを扱う700種類以上の再利用可能な関数を備えたGoユーティリティライブラリ。
- スター
- 5,300
- フォーク
- 518
- 未解決の Issue
- 11
- 最終コミット
- 9 時間前
これは何?
Lancetは、文字列操作、スライスやmapの操作、日時処理、ネットワーク、暗号など、よくあるニーズを幅広くカバーするGoのユーティリティ関数ライブラリです。JavaのApache Commonsやlodash.jsに着想を得ており、Go開発者がプロジェクトごとに同じ関数を書き直さずに済むよう、再利用可能なヘルパー関数を提供します。
v2.xはGoのジェネリクスを基盤としており、Go 1.18以降が必要です。古いGoバージョン向けにはv1.x系も引き続き利用できます。依存関係はGo標準ライブラリとgolang.org/xのパッケージのみで、エクスポートされている関数にはすべてユニットテストが用意されています。
関数はstrutil、slice、datetime、cryptor、convertor、concurrencyなどのパッケージに整理されています。パッケージごとに個別にimportするため、必要なものだけを取り込めます。
主な機能
- 01文字列、スライス、日時、net、cryptoなどを扱う700種類以上のユーティリティ関数を提供します。
- 02v2.xではGoのジェネリクスを利用し、型安全なヘルパー関数を提供します。
- 03依存関係はGo標準ライブラリとgolang.org/xのみです。
- 04エクスポートされている関数にはすべてユニットテストがあります。
- 05必要なものだけをimportできるよう、機能ごとにパッケージが分かれています。
ユースケース
- Goのサービスで、自作していた文字列、スライス、map用のヘルパー関数を置き換える。
- Goプロジェクトに日付計算や、安全な月・年の加算処理を追加する。
- AES、RSA、HMAC、SM系アルゴリズムなど、一般的な暗号ヘルパー関数を利用する。
- fan-in、チャネルパイプライン、キー付きロックなどの並行処理パターンをシンプルにする。
クイックスタート
- 1
go get で v2 モジュールをインストールします
go get github.com/duke-git/lancet/v2 - 2
必要なパッケージをインポートします(例: strutil)
import "github.com/duke-git/lancet/v2/strutil"
使う前に知っておきたいこと
- v2 には Go 1.18 以降が必要です。古い Go バージョンでは v1 系を使用してください。
トピック
よくある質問
- lancet とは?
- lodashに着想を得た、文字列、スライス、日時、ネットワーク、暗号などを扱う700種類以上の再利用可能な関数を備えたGoユーティリティライブラリ。 Lancetは、文字列操作、スライスやmapの操作、日時処理、ネットワーク、暗号など、よくあるニーズを幅広くカバーするGoのユーティリティ関数ライブラリです。JavaのApache Commonsやlodash.jsに着想を得ており、Go開発者がプロジェクトごとに同じ関数を書き直さずに済むよう、再利用可能なヘルパー関数を提供します。
- lancet は無料で使えますか?ライセンスは?
- lancet は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- lancet は今もメンテナンスされていますか?
- 活発にメンテナンス中。lancet の最終コミットは 2026年10月24日 です。
- lancet は何に使えますか?
- Goのサービスで、自作していた文字列、スライス、map用のヘルパー関数を置き換える。 Goプロジェクトに日付計算や、安全な月・年の加算処理を追加する。 AES、RSA、HMAC、SM系アルゴリズムなど、一般的な暗号ヘルパー関数を利用する。 fan-in、チャネルパイプライン、キー付きロックなどの並行処理パターンをシンプルにする。
- lancet のインストール方法は?
- go get で v2 モジュールをインストールします: go get github.com/duke-git/lancet/v2 必要なパッケージをインポートします(例: strutil): import "github.com/duke-git/lancet/v2/strutil"
- lancet はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/duke-git/lancet
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Go向けの高速な並行メモリ制限型キャッシュライブラリ。コストベースの追い出しとTinyLFUによる登録判定に対応。
Mbstring拡張がインストールされていない環境で、部分的な実装を提供する純粋なPHP製フォールバックです。
wait group、上限付きプール、順序付きストリーム、panicの伝播により、構造化並行処理をより安全かつシンプルにするGoライブラリ。
バイト数、時刻、数値、序数を人に読みやすい文字列に変換する、シンプルなGoフォーマッターライブラリです。
チャネル管理や決済のルーティングを行い、gRPCとREST APIを提供するLightning NetworkノードのGo実装です。