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

你可能感兴趣的:(mysql,sql,python,json,编程语言)