几个解放双手的 Go 开发利器

开发 后端
Go 开发中,我们会构造各种 struct 对象,经常会有 json、数据库表、yaml、toml 等数据结构转 strcut 的需求。这时,我们可以根据字段名和数据类型来将这些数据结构,手动地填充至 Go 代码的 strcut 。

[[421050]]

本文转载自微信公众号「Golang技术分享」,作者机器铃砍菜刀。转载本文请联系Golang技术分享公众号。

Go 开发中,我们会构造各种 struct 对象,经常会有 json、数据库表、yaml、toml 等数据结构转 strcut 的需求。这时,我们可以根据字段名和数据类型来将这些数据结构,手动地填充至 Go 代码的 strcut 。但当数据字段很多时,这种方式不但耗时耗力,还容易出现一些低级错误。

针对以上情况,本文推荐几个开箱即用的开发利器,帮助 Gopher 解放双手,拯救时间。

JSON-to-Go

JSON-to-Go 是一个将 json 数据转换为 Go 结构体的在线服务。

地址:https://mholt.github.io/json-to-go/

TOML-to-Go

TOML-to-Go 是一个将 toml 数据转换为 Go 结构体的在线服务。

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

YAML-to-Go

TOML-to-Go 是一个将 yaml 数据转换为 Go 结构体的在线服务。

地址:https://zhwt.github.io/yaml-to-go/

curl-to-Go

curl-to-Go 是一个将 curl 请求命令和数据格式转换为 Go 相关代码的在线服务。

地址:https://mholt.github.io/curl-to-go/

sql2struct

sql2struct 是一款根据 sql 语句自动生成 Go 结构体的 chrome 插件。

地址:https://github.com/idoubi/sql2struct

它的安装非常简单,根据上面地址中给出的使用步骤即可。

当我们需要对某个数据表,例如小菜刀本地数据库中的 rent 库,执行以下命令,拿到 SQL 定义语句。

  1. mysql> show create table rent\G; 
  2. *************************** 1. row *************************** 
  3.        Table: rent 
  4. Create TableCREATE TABLE `rent` ( 
  5.   `namevarchar(100) DEFAULT NULL
  6.   `price` int(10) DEFAULT NULL
  7.   `area` varchar(60) DEFAULT NULL
  8.   `number` varchar(60) DEFAULT NULL
  9.   `structure` varchar(60) DEFAULT NULL
  10.   `pay` varchar(60) DEFAULT NULL
  11.   `orientaion` varchar(60) DEFAULT NULL
  12.   `floor` varchar(60) DEFAULT NULL
  13.   `region` varchar(100) DEFAULT NULL
  14.   `metro` varchar(60) DEFAULT NULL
  15.   `url` varchar(255) DEFAULT NULL 
  16. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 
  17. 1 row in set (0.00 sec) 
  18.  
  19. ERROR: 
  20. No query specified 

打开 sql2struct 插件,将 SQL 建表语句置入,即可得到对应的 Go 代码 struct 信息。

当然,我们还可以通过 options 选择多种字段标签,例如上例中,选择的是 gorm 和 json。

 

责任编辑:武晓燕 来源: Golang技术分享
相关推荐

2012-04-06 10:22:58

Magic Reade

2021-05-19 14:45:07

电脑软件工具

2024-03-11 10:07:58

2021-07-16 23:18:14

机器人人工智能垃圾分类

2024-10-24 23:40:34

2020-12-18 17:06:50

Windows工具开源

2021-01-25 22:04:30

WindowsCoodesker工具

2022-07-18 08:08:16

Go​语言技巧

2021-05-08 17:51:45

IDEA插件代码

2020-05-19 10:13:45

Java开发代码

2021-05-18 07:17:37

Java

2019-12-26 17:20:06

人工智能软件机器人

2024-01-29 00:51:39

前端开发利器

2021-10-18 06:54:47

Go开源库业务

2021-03-05 17:07:41

工具在线代码

2021-01-28 15:16:09

程序员技能开发者

2024-05-27 00:13:27

Go语言框架

2024-04-01 08:05:27

Go开发Java

2022-05-30 10:20:53

软件开发研发效能SoFlu

2020-04-07 12:13:15

Python数据爬虫
点赞
收藏

51CTO技术栈公众号