go-common

module
v0.0.0-...-134f61d Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2025 License: GPL-3.0

README

About

Go Reference

This repository contains the implementations of some commonly used libraries.

Development

Setup

Execute the following commands to install git hooks:

  1. ln -s ../../githooks/pre-commit .git/hooks/: Run checks and tests before committing.
  2. ln -s ../../githooks/commit-msg .git/hooks/: Check whether the commit message conforms to conventional commits.

The pre-commit hook requires the following tools to be installed:

  1. mockgen: Generate mock files.
  2. wire: Generate dependency injection files.
  3. golangci-lint: Linters.

Test

  1. cd deployments && cp .env.example .env and edit .env, then source .env.
  2. Launch containers cd deployments && docker compose up -d.
  3. Now you can run tests via go test command.

Directories

Path Synopsis
pkg
concurrent
Package concurrent implements concurrency related functions.
Package concurrent implements concurrency related functions.
constant
Package constant defines some constants.
Package constant defines some constants.
db
Package db defines database related APIs.
Package db defines database related APIs.
dlock
Package dlock implements distributed lock.
Package dlock implements distributed lock.
encoding
Package encoding defines interfaces that convert data to and from byte-level and textual representations.
Package encoding defines interfaces that convert data to and from byte-level and textual representations.
glock
Package glock implements goroutine lock.
Package glock implements goroutine lock.
graceful
Package graceful implements general graceful shutdown functions.
Package graceful implements general graceful shutdown functions.
limiter
Package limiter implements a rate limiter with support for peak shaving.
Package limiter implements a rate limiter with support for peak shaving.
log
Package log implements a common logger based on slog.
Package log implements a common logger based on slog.
otel
Package otel implements [OpenTelemetry] related functions.
Package otel implements [OpenTelemetry] related functions.
util
Package util implements some utility functions.
Package util implements some utility functions.

Jump to

Keyboard shortcuts

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