Golang Go语言中的Gormat - 跨平台 Gopher 辅助工具

发布于 1周前 作者 vueper 来自 Go语言

Golang Go语言中的Gormat - 跨平台 Gopher 辅助工具

Gormat - 跨平台 Gopher 辅助工具

跨平台的界面化 golang 便捷转换器,支持数据库转 Struct、Sql 转 Struct、Json 转 Struct 等。

image

Features 功能展示

  • [x] 数据库转 Struct
    • [x] 数据引擎支持
      • [x] Mysql
      • [ ] PostgreSQL
      • [ ] Sqlite3
      • [ ] Mssql
    • [x] 自动存文件
    • [x] 标签支持
      • [x] Gorm
      • [x] Xrom
      • [x] JSON
    • [x] 排除列表
    • [x] 数据映射
    • [x] 自定义转型
  • [x] Sql 转 Struct
  • [x] Json 转 Struct

Prerequisites 开发条件

golang >= 1.11

Installation 安装

安装使用不需要额外的环境,移步到releases下载。

不同平台需要安装额外的开发环境

OS X & Linux:

OpenSSL

Windows:

Gcc

Usage example 编译示例( windows )

SET CGO_ENABLED=1
SET CC=x86_64-w64-mingw32-gcc
SET GOOS=windows
SET GOARCH=amd64
go build -o gormat.exe -ldflags="-H windowsgui"

本项目使用 fyne 开发,更多打包编译步骤参考: https://fyne.io/develop/distribution.html

Contributing 开源支持

fyne.io/fyne
github.com/Chronokeeper/anyxml
github.com/CloudyKit/fastprinter
github.com/CloudyKit/jet
github.com/agrison/go-tablib
github.com/agrison/mxj
github.com/bndr/gotabulate
github.com/buger/jsonparser
github.com/chenhg5/collection
github.com/denisenkom/go-mssqldb
github.com/fatih/astrewrite
github.com/fatih/camelcase
github.com/fatih/structs
github.com/go-sql-driver/mysql
github.com/lib/pq
github.com/liudanking/gorm2sql
github.com/liudanking/goutil
github.com/mattn/go-sqlite3
github.com/pinzolo/casee
github.com/tealeg/xlsx
github.com/xormplus/builder
github.com/xormplus/core
github.com/xormplus/xorm
golang.org/x/net
golang.org/x/tools
gopkg.in/flosch/pongo2.v3
gopkg.in/yaml.v2

Thanks 鸣谢

github.com/hsyan2008/gom
github.com/fatih/structtag
github.com/yujiahaol68/sql2struct
github.com/bashtian/jsonutils

Release History 版本历史

  • beta
    • 测试开源版本
  • 0.0.1
    • gormat lite

About 关于

在 golang 开发中,有很多时候需要手动敲结构体,并且需要手动入库。尽管 gorm 有自动迁移的功能,但并不能有效、理想化的形成数据库字段。 网上也有很多开源的例子,但是都没有界面化并且方便管理的工具,所以我开始写这个项目,目的就是更高效的开发,转换即用。

本项目借鉴了许多开源转换库的代码,并结合 orm 进行适度调整。在开发中遇到了很多的问题,fyne 这个 GUI 开发框架也是有很多坑点的,现不赘述。不管是数据库转 Struct,还是 Struct 转 SQL 语句,普遍还存在一些误差,所以转换结果仅供参考, 实际项目请自行调整使用。

License 授权协议

这个项目 MIT 协议, 请点击 LICENSE 了解更多细节。


更多关于Golang Go语言中的Gormat - 跨平台 Gopher 辅助工具的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

4 回复

fyne UI 框架还挺原始的,LZ 画 UI 麻烦不麻烦哦?

更多关于Golang Go语言中的Gormat - 跨平台 Gopher 辅助工具的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


坑踩得不少,但组件拿来即用

请问有什么坑能说说吗

Gormat是一款专为Golang开发者设计的跨平台辅助工具,它极大地简化了数据库表结构、SQL语句及JSON数据到Go语言Struct的转换过程。以下是对Gormat的详细解析:

一、主要功能

  • 数据库转Struct:支持多种数据库引擎,目前主要优化了对MySQL的支持,能够准确解析数据库表结构并转换为Go Struct。
  • SQL转Struct:支持将SQL语句转换为Go Struct,方便开发者进行代码审查和优化。
  • Json转Struct:支持将JSON数据转换为Go Struct,简化数据模型的定义过程。

二、特色功能

  • 自动保存:转换后的Struct代码可以自动保存为文件,减少手动处理文件的工作量。
  • 标签支持:支持Gorm、Xrom、JSON等多种标签,满足不同ORM框架的需求。
  • 灵活配置:提供排除列表、数据映射和自定义转型等功能,满足各种复杂的转换需求。

三、使用建议

Gormat的开源协议为MIT,开发者可以在Gormat GitHub页面下载并尝试使用。在进行数据库迁移、API开发或SQL优化时,Gormat都能提供极大的帮助。它不仅是开发者高效工作的得力助手,更是提升Golang开发效率的重要工具。

回到顶部