go-utils

module
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 5, 2026 License: MIT

README

📚 Go Utils

Language Go Version GitHub tag (latest by date)

Go Utils は、Go言語でアプリケーションを開発する際に繰り返し必要となる、汎用的なユーティリティ機能を集めたライブラリです。

このプロジェクトは、それぞれの機能が独立したパッケージとして提供されており、必要な機能のみをアプリケーションにインポートして利用することで、クリーンな依存関係を維持できます。

✨ 特徴

  • モジュール性: 各ユーティリティが独立したGoパッケージとして提供されます。

🛠️ インストール

プロジェクト全体をインストールするには、以下のコマンドを使用します。

go get github.com/shouni/go-utils

特定のパッケージのみを利用する場合は、そのパッケージをインポートしてください(例: import "github.com/shouni/go-utils/urlpath")。


📦 パッケージ構成 (Package Structure)

以下のパッケージがこのリポジトリで提供されています。

パッケージ 説明 主な提供機能 関連情報
urlpath URLやリモートURI(GCS/S3)の解決を行い、クラウドとローカルを透過的に扱います。 クラウドURI判定 (IsRemoteURI)、パスの結合 (ResolvePath)、ディレクトリ解決 (ResolveBaseDir)、連番付与 (GenerateIndexedPath) リファクタ済
giturl GitリポジトリURLの解析と、安全で一意な名前の生成を行います。 リポジトリパス抽出 (GetRepositoryPath)、GCSキー名/一意なローカルパスの生成 (GenerateGCSKeyName, SanitizeURLToUniquePath) urlpath から分離
iohandler ファイルI/Oと標準入出力を抽象化します。CLIアプリケーションでの処理を簡潔にします。 ファイル/標準入力の読込 (ReadInput)、ファイル/標準出力への書込 (WriteOutput) -
envutil 環境変数の取得と型変換を安全に行うヘルパーを提供します。 環境変数取得 (GetEnv)、ブール値への変換 (GetEnvAsBool)、整数への変換 (GetEnvAsInt) -
timeutil 日本標準時 (JST) への変換など、時刻処理を単純化します。 JST現在時刻の取得 (NowJST)、任意の時刻をJSTへ変換 (ToJST) -
text テキストデータのクリーンアップと整形を行います。 絵文字除去 (CleanStringFromEmojis)、マルチバイト対応の切詰め (Truncate)、リストパース forPelevin/gomoji 利用

🚀 クイックスタート

パスの解決 (urlpath)
import "github.com/shouni/go-utils/urlpath"

// リモート(gs://等)かローカルかを問わず、適切にパスを結合します
path, _ := urlpath.ResolvePath("gs://my-bucket/images", "photo.png")
// path => "gs://my-bucket/images/photo.png"

GitリポジトリURLの安全な名前生成 (giturl)
import "github.com/shouni/go-utils/giturl"

// GCSオブジェクトキーやローカル一時ディレクトリ名として使える、衝突しない安全な名前を生成します
name := giturl.GenerateGCSKeyName("git@github.com:owner/repo.git")
// name => "github-com-owner-repo-xxxxxxxx" (末尾はSHA-256ハッシュの先頭8桁)


📜 ライセンス (License)

このプロジェクトは MIT License の下で公開されています。


Directories

Path Synopsis
Package envutil は、環境変数の取得と型変換を安全に行うヘルパー関数を提供します。
Package envutil は、環境変数の取得と型変換を安全に行うヘルパー関数を提供します。
Package giturl は、GitリポジトリのURL(HTTPS/SSH)を解析し、 表示用のリポジトリパスや、GCSキー名・一時ディレクトリ名として使える 安全で一意な名前を生成するユーティリティ関数を提供します。
Package giturl は、GitリポジトリのURL(HTTPS/SSH)を解析し、 表示用のリポジトリパスや、GCSキー名・一時ディレクトリ名として使える 安全で一意な名前を生成するユーティリティ関数を提供します。
Package iohandler は、ファイルまたは標準入力からのコンテンツの読み込みと、 ファイルまたは標準出力へのコンテンツの書き出しを行うユーティリティ関数を提供します。
Package iohandler は、ファイルまたは標準入力からのコンテンツの読み込みと、 ファイルまたは標準出力へのコンテンツの書き出しを行うユーティリティ関数を提供します。
Package text は、テキストデータのクリーンアップと整形(絵文字除去、空白正規化、 マルチバイト対応の切り詰め、リストパースなど)を行うユーティリティ関数を提供します。
Package text は、テキストデータのクリーンアップと整形(絵文字除去、空白正規化、 マルチバイト対応の切り詰め、リストパースなど)を行うユーティリティ関数を提供します。
Package timeutil は、日本標準時 (JST) への変換やフォーマットなど、 時刻処理を単純化するユーティリティ関数を提供します。
Package timeutil は、日本標準時 (JST) への変換やフォーマットなど、 時刻処理を単純化するユーティリティ関数を提供します。
Package urlpath は、URLやリモートURI(GCS/S3)の解決を行い、 クラウドストレージとローカルファイルシステムのパスを透過的に扱うためのユーティリティ関数を提供します。
Package urlpath は、URLやリモートURI(GCS/S3)の解決を行い、 クラウドストレージとローカルファイルシステムのパスを透過的に扱うためのユーティリティ関数を提供します。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL