GO程序员的一些快捷开发工具,告别体力活

Posted 小龙in武汉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GO程序员的一些快捷开发工具,告别体力活相关的知识,希望对你有一定的参考价值。

GO程序员的一些快捷开发工具,告别体力活,其实java或者其它语言也有这样那样的快捷工具,能够告别体力活,顺便偷懒,这也是我目前正在规划的事情,做一个真正的程序员工具平台,服务广大程序员,解放双手,有更多时间陪女朋友陪老婆陪小孩。

【1】、在线json转go结构体

json字段:

{"code":200,"message":"success","data":{"tips":"未收藏","status":false}}

一键转go结构体:

网址推荐:

1、https://www.sojson.com/json/json2go.html

2、https://oktools.net/json2go

//第一个type AutoGenerated struct { Code int `json:"code"` Message string `json:"message"` Data struct { Tips string `json:"tips"` Status bool `json:"status"` } `json:"data"`}
//第二个type AutoGenerated struct { Code int `json:"code"` Message string `json:"message"` Data Data `json:"data"`}type Data struct { Tips string `json:"tips"` Status bool `json:"status"`}


【2】、在线sql转go结构体,gorm或xorm

sql语句:

CREATE TABLE `user_account_tbl` ( `id` int(11) NOT NULL AUTO_INCREMENT, `account` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `password` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `account_type` int(11) NOT NULL DEFAULT '0' COMMENT '帐号类型:0手机号,1邮件', `app_key` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT 'authbucket_oauth2_client表的id', `user_info_tbl_id` int(11) NOT NULL, `reg_time` datetime DEFAULT NULL, `reg_ip` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `bundle_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `describ` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `account` (`account`) USING BTREE, KEY `user_info_id` (`user_info_tbl_id`) USING BTREE, CONSTRAINT `user_account_tbl_ibfk_1` FOREIGN KEY (`user_info_tbl_id`) REFERENCES `user_info_tbl` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='用户账号'

sql2go,一键将sql语句转为go结构体,xorm的orm框架

网址:http://stming.cn/tool/sql2go.html

type UserAccountTbl struct { Id int `json:"id" xorm:"not null pk autoincr INT(11) 'id'"` Account string `json:"account" xorm:"not null VARCHAR(64) 'account'"` Password string `json:"password" xorm:"not null VARCHAR(64) 'password'"` AccountType int `json:"account_type" xorm:"not null default 0 comment('帐号类型:0手机号,1邮件') INT(11) 'account_type'"` AppKey string `json:"app_key" xorm:"not null comment('authbucket_oauth2_client表的id') VARCHAR(255) 'app_key'"` UserInfoTblId int `json:"user_info_tbl_id" xorm:"not null INT(11) 'user_info_tbl_id'"` RegTime sql.NullTime `json:"reg_time" xorm:"default 'NULL' DATETIME 'reg_time'"` RegIp sql.NullString `json:"reg_ip" xorm:"default 'NULL' VARCHAR(15) 'reg_ip'"` BundleId sql.NullString `json:"bundle_id" xorm:"default 'NULL' VARCHAR(255) 'bundle_id'"` Describ sql.NullString `json:"describ" xorm:"default 'NULL' VARCHAR(255) 'describ'"`}

gormt,一键将sql语句转为go结构体,gorm的orm框架

网址,暂时没有在线工具,需要自己安装:

https://gitee.com/mirrors/gormt

CREATE TABLE `user_account_tbl` ( `id` int(11) NOT NULL AUTO_INCREMENT, `account` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `password` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `account_type` int(11) NOT NULL DEFAULT '0' COMMENT '帐号类型:0手机号,1邮件', `app_key` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT 'authbucket_oauth2_client表的id', `user_info_tbl_id` int(11) NOT NULL, `reg_time` datetime DEFAULT NULL, `reg_ip` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `bundle_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `describ` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `account` (`account`) USING BTREE, KEY `user_info_id` (`user_info_tbl_id`) USING BTREE, CONSTRAINT `user_account_tbl_ibfk_1` FOREIGN KEY (`user_info_tbl_id`) REFERENCES `user_info_tbl` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='用户账号'

自动生成的golang gorm结构体如下

type UserAccountTbl struct { ID int `gorm:"primary_key"` Account string `gorm:"unique"` Password string AccountType int // 帐号类型:0手机号,1邮件 AppKey string // authbucket_oauth2_client表的id UserInfoTblID int `gorm:"index"` UserInfoTbl UserInfoTbl `gorm:"association_foreignkey:user_info_tbl_id;foreignkey:id"` // 用户信息 RegTime time.Time RegIP string BundleID string Describ string}

【3】IDE采用Goland

【4】toml2go 

https://xuri.me/toml-to-go/

用于将编码后的 toml 文本转换 golang 的 struct

【5】curl-to-go

https://github.com/mholt/curl-to-go

将curl语句转为go代码

【6】go泛型

https://github.com/cheekybits/genny

以上是关于GO程序员的一些快捷开发工具,告别体力活的主要内容,如果未能解决你的问题,请参考以下文章

告别GOPATH,快速使用 go mod(Golang包管理工具)

PHPStorm快捷键大全,不断更新收藏中(熟练使用后基本上告别鼠标了!)

Linux下随机生成密码的命令总结

Linux下随机生成密码的命令总结

Linux下随机生成密码的命令总结

学会C++,告别内卷,成为“卷”王