标签: Go

Golang

500 个英文高频单词拿下 Go 语言文档

500 个英文高频单词拿下 Go 语言文档

一、Go 语言 300 个英文高频单词 Category 类别 高频词 Basic Concepts 基本概念 Go, Golang, Gopher, Compiler, Run, Package, Module, Standard Library, Project, Executable, Command-line, Toolchain, Environment Variable, Dependency, GOPATH, GOROOT, Go Module, Go Proxy, Go Version, Build, go fmt Data Types 数据类型 int, float, bool, string, array, slice, map, struct, interface,

golang proto api 校验国际化 protovalidate

golang proto api 校验国际化 protovalidate

众所周知,protobuf 原型文件扩展很多功能,比如生成 http 接口层代码,顺势就有了生成接口参数校验代码的需求。 早期可以使用https://github.com/bufbuild/protoc-gen-validate 来实现,通过生成特定的 go 代码的方式来实现校验。 github 中也提到目前趋于稳定,不会有更多新特性的支持,推荐大家使用新的版本 protovalidate,https://github.com/bufbuild/protovalidate 。该版本是protoc-gen-validate 的“精神继承者”。它不需要任何代码生成并支持自定义约束。 现在我们尝试新版本,并且增加国际化支持。 go get github.com/bufbuild/protovalidate-go import "github.com/bufbuild/protovalidate-go" syntax = "proto3"; package

Go 远程调试

哪些场景可以用到远程调试? * Apple M1 M2 M3 不支持go 1.14 之前的版本 * Golang 部分依赖不支持 window 这两个场景推荐使用 Docker。 Debugging a Go application inside a Docker container | The GoLand BlogUpdated and validated on November 17, 2022. You can find more tutorials on how to use containers here. You may also refer to the Docker and

Go项目多测试环境的配置管理

Go项目多测试环境的配置管理

一个项目能够快速迭代上线,肯定少不了测试环境。而开发如果要在本地切换使用测试环境的配置,一般是手动修改,还可能提交到生产环境,会非常繁琐。 因此一个“伟大”的工具诞生了:easyconf。

Go 单元测试覆盖率计算方法和逻辑

1. 使用命令导出覆盖率文件明细列表 go test -coverprofile=coverage.out ./... cat coverage.out codeup.aliyun.com/xy/freebook-commerce/bookadv/cmd/service/adv_service.go:1178.18,1180.13 2 0 codeup.aliyun.com/xy/freebook-commerce/bookadv/cmd/service/adv_service.go:1184.23,1186.18 2 0 codeup.aliyun.com/xy/freebook-commerce/bookadv/

Go 多版本管理

新项目多采用 Go 的新版本,但老版本同样需要支持。版本管理略麻烦,查下来有4种方案,有的已不再维护了。 * brew switch * goenv * gvm * 自己编写简单的 Shell 脚本 前两个都不在维护;gvm 需要下载Go源码编译,时间略长。 看来自己编写 Shell 脚本可能是目前最好的方案;要做到 2 件事。 1. go 要指向正确的版本; 2. 正确的 GOROOT 环境变量; 第一种写法,修改软链,使用 gsed 变更 .zshrc 配置文件。(gsed 是 gnu 版本的 sed 与link 参数保持一致,brew install gsed 即可)。 gov18.