幾個解放雙手的 Go 開發利器

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 定義語句。

mysql> show create table rent\G;
*************************** 1. row ***************************
       Table: rent
Create Table: CREATE TABLE `rent` (
  `name` varchar(100) DEFAULT NULL,
  `price` int(10) DEFAULT NULL,
  `area` varchar(60) DEFAULT NULL,
  `number` varchar(60) DEFAULT NULL,
  `structure` varchar(60) DEFAULT NULL,
  `pay` varchar(60) DEFAULT NULL,
  `orientaion` varchar(60) DEFAULT NULL,
  `floor` varchar(60) DEFAULT NULL,
  `region` varchar(100) DEFAULT NULL,
  `metro` varchar(60) DEFAULT NULL,
  `url` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

ERROR:
No query specified

打開 sql2struct 插件,將 SQL 建表語句置入,即可得到對應的 Go 代碼 struct 信息。

當然,我們還可以通過 options 選擇多種字段標籤,例如上例中,選擇的是 gorm 和 json。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/OQ17Y4Knffd8SX-n-fnMsQ