1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

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

        共 1368字,需瀏覽 3分鐘

         ·

        2021-12-28 17:05

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

        大家好,我是 polarisxu。

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

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

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

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

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

        其中有一些對(duì) Gopher 比較有用,這里簡(jiǎn)單列舉介紹下。

        01 Go 相關(guān)

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

        1)轉(zhuǎn)為 struct

        這是一個(gè)很常見(jiàn)的場(chǎng)景,目前也存在很多在線工具,支持 JSON 轉(zhuǎn)為 struct,而且我沒(méi)記錯(cuò)的話,GoLand 自帶將 JSON 轉(zhuǎn)為 struct。

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

        在左邊改動(dòng) JSON,右邊會(huì)實(shí)時(shí)顯示出對(duì)應(yīng)的 struct。

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

        2)轉(zhuǎn)為 BSON

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

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

        所以,BSON 看起來(lái)和 JSON 是一樣的。

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

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

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

        03 總結(jié)

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




        往期推薦


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


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

        瀏覽 200
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产精品成人视频 | 极品操逼视频 | 少妇┅┅快┅┅用力作者冷眼生 | 免费 69视频 | xxxxwwww日本免费 | 港澳毛片 | 日日操比| 日本韩国无码 | 日韩欧美久久 | 黄色淫荡视频 |