このリポジトリは豆蔵デベロッパーサイトの記事のサンプルコードです。
- Go 1.16 or later
- Git
Clone the repository:
git clone https://github.com/yourusername/go_sample.git
cd git_cache_test
詳細は.vscode内のtask.jsonをご確認ください。
まず、本リポジトリにある任意のファイルを編集し、ステージングに変更を追加してください。
その後、このツールを実行するとコミットの対象となるファイルの一覧がJson形式で出力されます。
サンプルを実行したい場合には、appディレクトリに移動し、--kind {type}
を補って実行してください。
(例)
$(app) go run main.go --kind Mutex
実装されているものとしては、以下のものがあります
- Serialized (直列実行)
- NoMutex (変数の保護なしのルーチン実行)
- Mutex (Mutexを使うバージョン)
- Channel (チャンネルを使うバージョン)
- Hybrid (おまけ)
任意のディレクトリでこのツールを実行したい場合には、ビルドする必要があります。
$(app) go build -o myapp
ビルドされたアプリを任意のフォルダ(Gitで管理されている必要あり)に格納し、 バイナリファイルを実行することでコミット対象のファイル一覧が出力されます。
Contributions are welcome! Please fork the repository and create a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.