自学内容网 自学内容网

GoLang编程常用规范/工具

代码格式化工具

代码风格:

go install github.com/fsgo/go_fmt/cmd/gorgeous@latest
gorgeous  # 仅格式化git有改动的文件。如需格式化所有文件,可以执行 gorgeous ./...

标签格式:https://github.com/4meepo/tagalign

go install github.com/4meepo/tagalign/cmd/tagalign@latest
tagalign -fix -sort -order "json,default,validate" -strict ./...

项目环境配置

项目根目录新增文件go.env

GO111MODULE=on
GOPROXY=https://goproxy.cn,direct

为了使配置生效,需要执行命令:

export GOENV=${BASE_DIR}/go.env

常用命令:

go env          # 打印go环境信息
go mod download || go mod download -x  # 下载go依赖
go mod tidy     # 自动整理go.mod依赖,移除未使用的依赖

结构体默认值与校验器

https://blog.csdn.net/winter2121/article/details/142633389

优雅格式日志

https://github.com/winterant/myslog

JSON序列化

json_util.go

func ToJSON(v any) []byte {
bf := bytes.NewBuffer([]byte{})
jsonEncoder := json.NewEncoder(bf)
jsonEncoder.SetEscapeHTML(false) // 防止<>&等html字符转义
_ = jsonEncoder.Encode(v)
return bf.Bytes()
}

func ToJSONIndent(v any, prefix, indent string) []byte {
data := ToJSON(v)
var out bytes.Buffer
_ = json.Indent(&out, data, prefix, indent)
return out.Bytes()
}

原文地址:https://blog.csdn.net/winter2121/article/details/142670305

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!