Skip to content

Releases: jinfeijie/gen-const

v0.0.1

13 Mar 14:04
Compare
Choose a tag to compare

gen-const

这是一个golang代码生成工具。

如何安装

go install github.com/jinfeijie/gen-const@latest

如何使用

如有需要,你可以使用如下示例来帮助理解

  1. 创建一个golang文件 test.go
package exp

type HttpCode int

//go:generate gen-const -type HttpCode
const (
	respOk   = HttpCode(0)   // 成功
	respFail = HttpCode(500) // 失败
)
  1. 在命令行中运行
go generate test.go

或者点击编辑器执行按键
20240313-214109

  1. 将会生成文件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, "失败")
)

工具示例

exp

工具原理

https://jinfeijie.cn/post-2112252258