go>> gsr>> 返回
项目作者: gookit

项目描述 :
Go Standards Recommendations
高级语言: Go
项目地址: git://github.com/gookit/gsr.git
创建时间: 2021-05-26T02:07:23Z
项目社区:https://github.com/gookit/gsr

开源协议:MIT License

下载


GSR

GitHub go.mod Go version
GoDoc
Go Report Card

Go Standards Recommendations

Install

  1. go get github.com/gookit/gsr

Interfaces

Usage

Logger Interface

Std Logger

  1. package main
  2. import (
  3. "github.com/gookit/gsr"
  4. )
  5. type MyApp struct {
  6. logger gsr.StdLogger // std logger
  7. }
  8. func (ma *MyApp) SetLogger(logger gsr.StdLogger) {
  9. ma.logger = logger
  10. }

Full Logger

  1. package main
  2. import (
  3. "github.com/gookit/gsr"
  4. )
  5. type MyApp struct {
  6. logger gsr.Logger // full logger
  7. }
  8. func (ma *MyApp) SetLogger(logger gsr.Logger) {
  9. ma.logger = logger
  10. }

Cache Interface

Simple Cache

  1. package main
  2. import (
  3. "github.com/gookit/gsr"
  4. )
  5. type MyApp struct {
  6. cacher gsr.SimpleCacher
  7. }
  8. func (ma *MyApp) SetCacher(cacher gsr.SimpleCacher) {
  9. ma.cacher = cacher
  10. }

Serialize interface

  1. // Serializer interface definition
  2. type Serializer interface {
  3. Serialize(v any) ([]byte, error)
  4. Deserialize(data []byte, v any) error
  5. }
  6. // GoSerializer interface definition
  7. type GoSerializer interface {
  8. Marshal(v any) ([]byte, error)
  9. Unmarshal(v []byte, ptr any) error
  10. }
  11. // Codec interface definition
  12. type Codec interface {
  13. Decode(blob []byte, v any) (err error)
  14. Encode(v any) (out []byte, err error)
  15. }

LICENSE

MIT