<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Go 瑞士軍刀:各種結(jié)構(gòu)的轉(zhuǎn)換工具

          共 1368字,需瀏覽 3分鐘

           ·

          2021-12-28 17:05

          閱讀本文大概需要 3 分鐘。

          大家好,我是 polarisxu。

          上次推薦的 「Go網(wǎng)址導(dǎo)航」,其中收錄了一項:轉(zhuǎn)換器。

          網(wǎng)址是:https://transform.tools/。

          這是一個開源項目,項目地址:https://github.com/ritz078/transform,目前 Star 數(shù) 2.8k+。

          這個網(wǎng)站將轉(zhuǎn)換工具分成了幾類:

          • SVG
          • HTML
          • JSON
          • JSON Schema
          • CSS
          • JavaScript
          • GraphQL
          • JSON-LD
          • TypeScript
          • Flow
          • Others

          其中有一些對 Gopher 比較有用,這里簡單列舉介紹下。

          01 Go 相關(guān)

          JSON 幾乎每個程序員都會用到。在 Go 語言中,會有哪些場景會用到這里 JSON 相關(guān)工具呢?

          1)轉(zhuǎn)為 struct

          這是一個很常見的場景,目前也存在很多在線工具,支持 JSON 轉(zhuǎn)為 struct,而且我沒記錯的話,GoLand 自帶將 JSON 轉(zhuǎn)為 struct。

          transform 里也有這樣的工具:https://transform.tools/json-to-go

          在左邊改動 JSON,右邊會實時顯示出對應(yīng)的 struct。

          此外,頂部的向上箭頭,是導(dǎo)入文件,支持從本地導(dǎo)入和遠(yuǎn)程 URL 導(dǎo)入。

          2)轉(zhuǎn)為 BSON

          如果你存儲使用的是 MongoDB,會使用到 BSON。不過 JSON 到 BSON 轉(zhuǎn)換幾乎不太需要借助工具。

          BSON 是一種類 JSON 的一種二進(jìn)制形式的存儲格式,簡稱 Binary JSON,它和 JSON 一樣,支持內(nèi)嵌的文檔對象和數(shù)組對象,但是 BSON 有 JSON 沒有的一些數(shù)據(jù)類型,如 Date 和 BinData 類型。BSON 可以做為網(wǎng)絡(luò)數(shù)據(jù)交換的一種存儲形式,這個有點類似于 Google 的 Protocol Buffer,但是 BSON 是一種 schema-less 的存儲形式,它的優(yōu)點是靈活性高,但它的缺點是空間利用率不是很理想,BSON有 三個特點:輕量性、可遍歷性、高效性。

          所以,BSON 看起來和 JSON 是一樣的。

          02 其他配置文件相關(guān)

          目前常用的配置文件有:yaml、toml、json、xml 等,它們直接是可以直接轉(zhuǎn)換的。這個網(wǎng)站就提供了相關(guān)工具,將一種格式轉(zhuǎn)為另一種格式。

          比如講 yaml 轉(zhuǎn)為 toml(我喜歡的文件類型):

          03 總結(jié)

          好的工具可以提升開發(fā)速度,我們要善于使用工具。當(dāng)然,有能力,你也可以自己生產(chǎn)工具。有好工具記得分享,讓更多人知曉、使用。




          往期推薦


          我是 polarisxu,北大碩士畢業(yè),曾在 360 等知名互聯(lián)網(wǎng)公司工作,10多年技術(shù)研發(fā)與架構(gòu)經(jīng)驗!2012 年接觸 Go 語言并創(chuàng)建了 Go 語言中文網(wǎng)!著有《Go語言編程之旅》、開源圖書《Go語言標(biāo)準(zhǔn)庫》等。


          堅持輸出技術(shù)(包括 Go、Rust 等技術(shù))、職場心得和創(chuàng)業(yè)感悟!歡迎關(guān)注「polarisxu」一起成長!也歡迎加我微信好友交流:gopherstudio

          瀏覽 200
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  全国最大成人色图 | 亚洲无码精品久久 | 91人妻人人操人人爽 | 在线女人天堂网 | 五月丁香淫淫网 |