当前位置: 首页 > news >正文

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()
}
http://www.lryc.cn/news/456327.html

相关文章:

  • 数字王国里的虚拟人――技术、商业与法律解读
  • Java后端基础练习|请求参数
  • C# + SQLiteExpert 进行(cipher)加密数据库开发+Costura.Fody 清爽发布
  • MySQL 8.0 新特性之自增变量持久化
  • 网站建设公司哪家好?好的网站建设公司应该有哪些特别之处?
  • 香山南湖架构分析--FE
  • 【Linux的那些事】shell命名及Linux权限的理解
  • Visual Studio 2022 配置 Boost 库
  • 逻辑回归(下): Sigmoid 函数的发展历史
  • 快速理解mQ(三)——RabbitMQ 各种交换机的区别与应用
  • 【五分钟学会】YOLO11 自定义数据集从训练到部署
  • Redis学习(十二)连接数不足报错及分析修复:ERR max number of clients reached.
  • 八股文面试题总结(包含主流的面试经典题)
  • 一分钟掌握 Java22 新特性
  • 西安凭借入驻企业展示科技“硬”实力的数字媒体产业园
  • 【网络安全】利用XSS、OAuth配置错误实现token窃取及账户接管 (ATO)
  • 浙江所有省级医院体检报告查询上线浙里办!
  • 支付宝支付Java+uniapp支付宝小程序
  • Linux-磁盘优化的几个思路
  • 【第三版 系统集成项目管理工程师】第15章 组织保障
  • 从编程视角看生命、爱、自由、生活的排列顺序
  • Lumerical——属性编辑窗口的详解
  • 08实战篇:972应用题(2024)思路解析
  • 解决应用程序启动失败问题:由于找不到d3dx9_43.dll文件,如何快速有效地恢复和修复缺失的DLL组件
  • Ubuntu——双系统Ubuntu22.04系统安装和基础配置
  • stm32定时器中断和外部中断
  • LeetCode 每日一题 2024/9/30-2024/10/6
  • Redis篇(最佳实践)(持续更新迭代)
  • 详细介绍pandas 在python中的用法
  • 八字命理测算系统开发-源码搭建