<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>

          golang使用3周總結(jié)

          共 1608字,需瀏覽 4分鐘

           ·

          2021-11-19 18:03

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

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

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

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



          大家好,我是Z哥。

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

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

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

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

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

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

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


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

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


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


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

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

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


          02? github.com/streadway/amqp

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


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

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

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

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

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

          • 極簡(jiǎn)的 API 描述,一鍵生成各端代碼

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

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



          04??gorm.io/gorm

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


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



          推薦閱讀:


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


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

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

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

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

          手機(jī)掃一掃分享

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

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  色777| 插逼综合网 | 日韩色图视频 | 精品理论片 | 少妇高潮喷水视频 |