1 Star 0 Fork 0

fghydx/GoBone

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
sql语句生成struct.go 837 Bytes
一键复制 编辑 原始数据 按行查看 历史
fghydx 提交于 2022-06-18 13:22 +08:00 . 修复引用问题
package ToolsOther
import (
"database/sql"
"fmt"
"strings"
)
//生成类型
func RowsToStruct(row sql.Rows, structName string) (result string) {
columnstype, _ := row.ColumnTypes()
strb := strings.Builder{}
strb.WriteString("type " + structName + " struct{\n")
for i, _ := range columnstype {
tmp := columnstype[i].Name()
switch {
case columnstype[i].DatabaseTypeName() == "DECIMAL":
strb.WriteString(" " + strings.ToUpper(tmp[:1]) + tmp[1:] + " float64" +
fmt.Sprintf(" `col:\"%s,omitempty\" json:\"%s,omitempty\"` \n", tmp, strings.ToLower(tmp)))
default:
strb.WriteString(" " + strings.ToUpper(tmp[:1]) + tmp[1:] + " " + columnstype[i].ScanType().Name() +
fmt.Sprintf(" `col:\"%s,omitempty\" json:\"%s,omitempty\"` \n", tmp, strings.ToLower(tmp)))
}
}
strb.WriteString("}")
return strb.String()
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/fghydx-osc_admin/gobone.git
git@gitee.com:fghydx-osc_admin/gobone.git
fghydx-osc_admin
gobone
GoBone
332b391c17e4

搜索帮助