<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    golang使用3周總結(jié)

    共 1608字,需瀏覽 4分鐘

     ·

    2021-11-19 18:03

    這里是Z哥的個(gè)人公眾號

    每周五11:45 按時(shí)送達(dá)

    當(dāng)然了,也會時(shí)不時(shí)加個(gè)餐~

    我的第「215」篇原創(chuàng)敬上



    大家好,我是Z哥。

    最近還是一如既往得忙,我估計(jì)至少得到明年1月中下旬才能稍微喘口氣。所以今天就不整長篇大論了,簡單和大家分享一些收獲。

    這段時(shí)間在新團(tuán)隊(duì)用golang做開發(fā),摸滾打爬完成了項(xiàng)目的搭建、并完成了4個(gè)用戶故事的開發(fā),對于golang的使用算是勉強(qiáng)達(dá)到了較為熟練的狀態(tài)。

    簡單聊聊感受吧。目前感受到golang的幾個(gè)明顯優(yōu)點(diǎn):

    1. ?部署簡單。特別是部署為一個(gè)web服務(wù),2行代碼就能搞定,這感覺真的爽。

    2. 很輕松就能使用協(xié)程模式進(jìn)行編程,對于程序性能有追求的小伙伴來說這點(diǎn)就很香了。

    3. 可以在方法體內(nèi)的任意位置使用defer關(guān)鍵字來釋放資源,簡潔明了,不像很多語言要包一個(gè)try- finally。

    4. 天然支持多返回值,可以避免像別的語言一樣使用一些奇技淫巧。


    但是也有很讓人難受的地方,就是golang的官方庫不像java、.net那種提供了封裝比較厚的庫,甚至是更便捷的語法糖,導(dǎo)致整體的編碼量其實(shí)大了不少。不過說實(shí)話,這樣具有了更大的編程樂趣,不會顯得自己更像個(gè)搬磚的。(雖然實(shí)際還是搬磚的)

    總體來說,golang還不錯(cuò),如果沒接觸過的小伙伴可以去玩玩看,可以拓寬自己的編程視野。況且,現(xiàn)在行業(yè)中g(shù)olang崗位的供需比更友好,如果不想繼續(xù)在java里和大家比誰更卷的話,強(qiáng)烈推薦。


    最后再分享一些目前用到的,覺得還不錯(cuò)的框架,你可以收藏一下。如果未來你打算玩golang的話,可以翻出來看看,可以幫助你更快地上手開始一個(gè)項(xiàng)目。


    01? github.com/ahmetb/go-linq/

    一個(gè)模仿.net中l(wèi)inq的庫,因?yàn)間olang不支持lambda表達(dá)式,所以用起來有些變扭,但是可以節(jié)約你不少處理array、slice、map等集合的代碼。Linq到底有多香,相信.net開發(fā)者們都體會過。

    如果為了讓項(xiàng)目快速run起來的話,這個(gè)庫可以用。但是如果你對性能要求特別嚴(yán)苛的話,那估計(jì)還是自己手寫for循環(huán),畢竟這個(gè)庫里面用到了不少反射機(jī)制,不過相比手寫的性能差異有多大我倒是沒測試過,有測試過的小伙伴可以在評論區(qū)分享一下。


    02? github.com/streadway/amqp

    從名字也可以看出,一個(gè)基于amqp協(xié)議封裝的庫,可以用來調(diào)用RabbitMQ之類的消息隊(duì)列中間件。


    03??https://github.com/zeromicro/go-zero

    這個(gè)就比較厲害了,一個(gè)包含web和rpc的框架,內(nèi)置了很多微服務(wù)中常用的能力,直接貼一些官方描述的優(yōu)勢:

    • 輕松獲得支撐千萬日活服務(wù)的穩(wěn)定性

    • 內(nèi)建級聯(lián)超時(shí)控制、限流、自適應(yīng)熔斷、自適應(yīng)降載等微服務(wù)治理能力,無需配置和額外代碼

    • 微服務(wù)治理中間件可無縫集成到其它現(xiàn)有框架使用

    • 極簡的 API 描述,一鍵生成各端代碼

    • 自動(dòng)校驗(yàn)客戶端請求參數(shù)合法性

    • 大量微服務(wù)治理和并發(fā)工具包



    04??gorm.io/gorm

    這個(gè)也是我想偷懶才用的,從名字也能看出,一個(gè)orm庫。因?yàn)間olang里還沒有泛型,所以目前這個(gè)庫的使用上不像有泛型支持的語言那么舒服,但是相似度大概80%吧。的確可以讓你少寫不少與數(shù)據(jù)庫操作的代碼。


    好了,今天就分享這么多吧,文章短了點(diǎn),但是實(shí)在擠不出太多時(shí)間,大家諒解哈~



    推薦閱讀:


    原創(chuàng)不易,如果你覺得這篇文章還不錯(cuò),就「點(diǎn)贊」或者「在看」一下吧,鼓勵(lì)我的創(chuàng)作 :)


    也可以分享我的公眾號名片給有需要的朋友們。

    如果你有關(guān)于軟件架構(gòu)、分布式系統(tǒng)、產(chǎn)品、運(yùn)營的困惑

    可以試試點(diǎn)擊「閱讀原文

    瀏覽 83
    點(diǎn)贊
    評論
    收藏
    分享

    手機(jī)掃一掃分享

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

    手機(jī)掃一掃分享

    分享
    舉報(bào)

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    免费一级无码成人片 | 三级片天天| 大香蕉操B视频 | 伊人六区 | www.操逼网 |