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

          Gopher China 2021 講師專訪 — 曹春暉

          共 2212字,需瀏覽 5分鐘

           ·

          2021-06-01 17:31

          曹大今年會在 Gopher China 大會上分享 Go 語言的搶占式調(diào)度,這也是他第一次作為講師出現(xiàn)在 Gopher China 的現(xiàn)場。這篇文章是 GoCN 對他做的采訪。

          采訪中曹大風(fēng)趣幽默、針砭時弊,從他當(dāng)年的實習(xí)經(jīng)歷講到當(dāng)下公司使用 Go 的情況再到 Go 的未來,非常之精彩!當(dāng)然,我們更希望你能到大會現(xiàn)場聽曹大的分享。

          曹大曾說:

          你所要做的是提前做好準(zhǔn)備,在那一天到來的時候,在聚光燈下旁征博引,談笑風(fēng)生。

          如今他就要實現(xiàn)了!

          人這一輩子,最重要的是能把路越走越寬。也愿各位長風(fēng)破浪會有時,直掛云帆濟滄海!


          最初如何與 Go 結(jié)識?在此之前,有無接觸過其他語言?談?wù)勊麄兊膬?yōu)缺點

          在創(chuàng)業(yè)公司工作的時候,看到一個信息檢索模塊是 Go 寫的,當(dāng)時主要寫 PHP,也稍微寫過一點 C,被 Go 簡單直白的語法和高效的并發(fā)編程震撼到了。后來跳槽到滴滴就找機會慢慢從 PHP 轉(zhuǎn) Go 了。

          我剛畢業(yè)的時候其實是從 C 開始寫的,被 void *callback hell 折磨得死去活來,就投向了 PHP 的懷抱,結(jié)果發(fā)現(xiàn) PHP 在大公司有很多大項目,幾十萬行代碼,一樣非常難維護,那些幾千行代碼的接口連順暢地讀下來都很難,改起來同樣也很心虛。轉(zhuǎn)了 Go 以后,基本沒這種煩惱了,幾乎所有的項目讀代碼都很輕松,也很開心。

          Go 語言中最看好哪種特性,談一談理由以及你希望它改進的方面

          泛型,找再多不需要泛型的理由,你還是無法在沒有泛型的前提下既保證代碼重復(fù)少,又能做到類型安全。泛型到位之后,至少大家寫一些復(fù)雜的數(shù)據(jù)結(jié)構(gòu)庫能輕松很多,以前的這些庫是復(fù)制粘貼斷言漫天飛的。

          希望的改進:個人現(xiàn)在最希望改進的是 if err != nil。造成了太多的代碼重復(fù),但是也不喜歡官方之前那個 try 方案,像某語言那樣的問號操作符就挺好的。要是能支持注解的話,做語言本身的擴展會方便很多(這一條感覺官方應(yīng)該不太會考慮)。

          Go 語言對大廠和創(chuàng)業(yè)公司來說分別有什么優(yōu)越性?

          大廠:對延遲敏感的業(yè)務(wù)(如高頻交易、廣告)是少數(shù),Go 對于 80% 的業(yè)務(wù)是適用的。大廠的單模塊代碼量都非常非常多(很多都 10w 行起了),相比 PHP 和 Python,這種規(guī)模的項目用 Go 寫,就是好維護。當(dāng)前使用 Java 的公司在上云后碰到了很多水土不服的問題,為了解決這些問題又需要付出更多技術(shù)上的努力(再說下去這段就不能播了)。而用 Go 上云還是比較省心的。

          創(chuàng)業(yè)公司:買公有云是按用量算錢的,用的資源少就是省錢。就是這么現(xiàn)實。

          Go 有沒有幫助解決公司的實際問題?

          Go 在工程化上做了很多努力:

          1. 研發(fā)效率不好說,大家都有一些常見的代碼生成工具的話,其實差不多。但強類型語言,在項目中后期維護階段,肯定比那些 array 滿天飛的強。

          2. 官方直接把 parser 對用戶開放,做 linter 不要太方便,工程效率部門直接將 golangci-lint 拿到公司內(nèi)再針對業(yè)務(wù)場景做一些定制的 linter 就可以用起來了。

          3. 運維不用再考慮我給哪個業(yè)務(wù)用 PHP x.y 版本的問題了。

          4. 印象中某公司說從 PHP 遷移到 Go,能節(jié)省至少一半服務(wù)器吧(這句是傳說,我沒驗證過,各位 PHP fan 不要生氣)。

          對眾多大廠轉(zhuǎn) Go 提一些建議吧,在選型上 Go 適用什么場景,不適用什么場景?

          延遲敏感(廣告、高頻交易)類的場景用 Go 不合適,集中式的并發(fā)極高(幾 w QPS)的網(wǎng)關(guān)系統(tǒng)用 Go 不合適,大數(shù)據(jù)場景(已經(jīng)有現(xiàn)成的 Java/Scala SDK,Go 什么庫都沒有的那種)不適用。雖然一般會講 Go 的 stw 已經(jīng)控制在個位數(shù)毫秒以內(nèi)了,但實際請求的延遲不只受 stw 影響,所以在 POC 階段也應(yīng)該自己做一些壓測和數(shù)據(jù)驗證。除了上面講的,80% 的其它場景問題不大。

          談一談 Go 的未來,將在哪些領(lǐng)域有更深的應(yīng)用?

          Go 現(xiàn)在其實已經(jīng)是后端服務(wù)、分布式基礎(chǔ)組件、運維相關(guān)領(lǐng)域的主流語言了。個人傾向上希望能在泛型出現(xiàn)后能在數(shù)據(jù)領(lǐng)域(如實時計算)上稍微有一些拓展,但感覺可能比較難。

          介紹下本次分享的議題吧

          這次分享是 Go 1.14 的信號式搶占,之前看了作者在 GopherCon 上的分享,只是介紹了一些概念,相信完全沒有滿足大家的好奇心,這次我們就來詳細看看這個東西到底是怎么實現(xiàn)的。

          分享一下如何快速掌握一門新的編程語言,分享一些經(jīng)驗給新 Gopher吧。學(xué)習(xí) Go 的最佳實踐是什么?推薦一些書吧!

          要多動手,多抄代碼。比如看《The Go Programming Language》,能把書上所有的例子都抄明白,那就已經(jīng)入門了。入門以后,盡量結(jié)合工作多寫項目,還是從實踐中學(xué)習(xí)最靠譜。要是你對 cgo 啊,匯編什么的感興趣,歡迎買柴老板和我合著的《Go 語言高級編程》呀。其它的書,就買最暢銷的就完事了!

          你是第幾次參加 GopherChina,對 GopherChina 大會有何期待?

          應(yīng)該是第三還是第四次了,希望以后 GopherChina 能一直保持技術(shù)和應(yīng)用兩類主題并重,不要變成架構(gòu)師大會(笑





          瀏覽 47
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  人人妻人人干 | 老妇人一区二区三区 | 99国产婷婷踪合在线免费视频 | 看黄色一级片 | 欧美熟妇XXXXX |