1 Star 0 Fork 0

water/gobase

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
struct_info.go 1.53 KB
一键复制 编辑 原始数据 按行查看 历史
leijmdas 提交于 2024-09-19 07:39 +08:00 . add
package dimeta
import (
"gitee.com/leijmdas/gobase/goconfig/common/base/basedto"
"gitee.com/leijmdas/gobase/gomini/mini/gometa/goast/diconsts"
"gitee.com/leijmdas/gobase/gomini/mini/gometa/goast/diutils"
"strings"
)
type StructInfo struct {
basedto.BaseEntity
IsBaseEntiyStruct bool `json:"isBaseEntiyStruct"`
*DiDto
MethodNames []string `json:"methodNames,omitempty"`
FuncDefines []*FuncDefine `json:"func_defines"`
Fields []string `json:"fields"`
}
func NewStructInfo() *StructInfo {
var si = &StructInfo{
DiDto: NewDiDto(),
MethodNames: make([]string, 0),
FuncDefines: make([]*FuncDefine, 0),
}
si.InitProxy(si)
return si
}
func (this *StructInfo) NewFuncNameDefault() string {
return "New" + this.StructName
}
func (this *StructInfo) CheckBaseEntity() bool {
for _, v := range this.Fields {
this.IsBaseEntiyStruct = v == diconsts.BaseEntity || v == diconsts.BaseEntitySingle
if this.IsBaseEntiyStruct {
return true
}
}
this.IsBaseEntiyStruct = diutils.FindKey(this.StructName)
return this.IsBaseEntiyStruct
}
func (s *StructInfo) ParsePkgName(rootdir, basepkg string) {
s.FullPkg = strings.Replace(s.PathFile, rootdir, basepkg, -1)
s.FullPkg = strings.Replace(s.FullPkg, "\\", "/", -1)
var paths = strings.Split(s.FullPkg, "/")
s.FullPkg = strings.Join(paths[0:len(paths)-2], "/") + "/" + s.PkgName
}
func (s *StructInfo) AddMethodName(methodName string) {
s.MethodNames = append(s.MethodNames, methodName)
}
func (s *StructInfo) AddField(fieldName string) {
s.Fields = append(s.Fields, fieldName)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/leijmdas/gobase.git
git@gitee.com:leijmdas/gobase.git
leijmdas
gobase
gobase
e3601d1820c0

搜索帮助