# 三个有用的 Golang 辅助网站

- Link: https://www.ixiqin.com/2022/10/03/three-useful-support-golang-site/
- Published: 2022-10-03T06:00:00+08:00
- Author: 白宦成

在我数十年的编程生涯里，我大部分时间写的都是动态类型语言，所以我对于类型并不太感冒。
不过，当我在写 Golang 的时候，确实遇到了一些过去写 PHP、 Node.js、前端不同的问题。

一个最令我困扰的点便是：对于 JSON 的处理，需要先定义结构体来做转换。对于一些简单
的 JSON 结构，我还可以简单的完成定义。但如果是一些比较复杂的结构体，我就放弃了手
动定义，而是选择借助一些辅助工具来完成

![](https://files.ixiqin.com/2022/10/23091441/d2b5ca33bd970f64a6301fa75ae2eb22-1024x270.
png)

比如我最常用的便是各种 JSON to Go 的网站，贴一个 JSON 进去，然后自动生成对应的 Golang
的 Struct，接下来我只需要复制右侧生成的 Struct 到我的代码里，就可以完成 JSON 的定义，
使用 Golang 自带的 JSON 库解析即可。

截图的网站是 [https://mholt.github.io/json-to-go/](https://mholt.github.io/json-to-go/)

另外一个可以实现 JSON 转换成 Go Struct 的网站是 [https://transform.tools/json-to-go](https://transform.tools/json-to-go)，
它提供了更加全面的转换路径。不过有些时候选择太多也会让我有点困惑。

![](https://files.ixiqin.com/2022/10/23091441/d2b5ca33bd970f64a6301fa75ae2eb22-1-
1024x740.png)

另外一个令我困扰的也是类似的格式转换，不过是 YAML 的。思路相同，手写要配置的 YAML
文件，并生成对应的 Struct：[ https://zhwt.github.io/yaml-to-go/](https://www.ixiqin.com/2022/10/03/three-useful-support-golang-site/ https://zhwt.github.io/yaml-to-go/)。
在设计风格上，和上面的 JSON2Struct 类似，是基于上面的项目改造过来的。

![](https://files.ixiqin.com/2022/10/23091441/d2b5ca33bd970f64a6301fa75ae2eb22-3-
1024x736.png)

除此之外，如果你在定义 YAML 的时候， 对于部分数据如何定义不太明确，可以考虑使用 
[JSON2Yaml](https://www.json2yaml.com) 的工具来实现将你需要的数据转换为 YAML 定义。
