gen-const
这是一个golang代码生成工具。
如何安装
go install github.com/jinfeijie/gen-const@latest
如何使用
如有需要,你可以使用如下示例来帮助理解
- 创建一个golang文件
test.go
package exp
type HttpCode int
//go:generate gen-const -type HttpCode
const (
respOk = HttpCode(0) // 成功
respFail = HttpCode(500) // 失败
)
- 在命令行中运行
go generate test.go
- 将会生成文件
httpcode_gen.go
// Code generated by "gen-const -type HttpCode"; DO NOT EDIT.
// 代码文件由 "gen-const -type HttpCode" 生成; 不要编辑本代码文件。
package exp
import "fmt"
type HttpCodeType struct {
Val int
Msg string
}
func (receiver *HttpCodeType) GetVal() int {
return receiver.Val
}
func (receiver *HttpCodeType) GetMsg() string {
return receiver.Msg
}
func HttpCodeFunc(val int, msg string) *HttpCodeType {
return &HttpCodeType{
Val: val,
Msg: msg,
}
}
func (receiver *HttpCodeType) String() string {
return "HttpCodeType (Val: " + fmt.Sprintf("%+v", receiver.Val) + ", Msg: " + receiver.Msg + ")"
}
var (
RespOkHttpCode = HttpCodeFunc(0, "成功")
RespFailHttpCode = HttpCodeFunc(500, "失败")
)