• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Fork me on GitHub
            隨筆 - 215  文章 - 13  trackbacks - 0
            <2018年6月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            1234567


            專(zhuān)注即時(shí)通訊及網(wǎng)游服務(wù)端編程
            ------------------------------------
            Openresty 官方模塊
            Openresty 標(biāo)準(zhǔn)模塊(Opm)
            Openresty 三方模塊
            ------------------------------------
            本博收藏大部分文章為轉(zhuǎn)載,并在文章開(kāi)頭給出了原文出處,如有再轉(zhuǎn),敬請(qǐng)保留相關(guān)信息,這是大家對(duì)原創(chuàng)作者勞動(dòng)成果的自覺(jué)尊重!!如為您帶來(lái)不便,請(qǐng)于本博下留言,謝謝配合。

            常用鏈接

            留言簿(1)

            隨筆分類(lèi)

            隨筆檔案

            相冊(cè)

            Awesome

            Blog

            Book

            GitHub

            Link

            搜索

            •  

            積分與排名

            • 積分 - 216784
            • 排名 - 118

            最新評(píng)論

            閱讀排行榜

            http://www.zhihu.com/question/21409296
            http://blog.csdn.net/johnhomsea/article/details/18944647

            1、Go有什么優(yōu)勢(shì)

            • 可直接編譯成機(jī)器碼,不依賴(lài)其他庫(kù),glibc的版本有一定要求,部署就是扔一個(gè)文件上去就完成了。
            • 靜態(tài)類(lèi)型語(yǔ)言,但是有動(dòng)態(tài)語(yǔ)言的感覺(jué),靜態(tài)類(lèi)型的語(yǔ)言就是可以在編譯的時(shí)候檢查出來(lái)隱藏的大多數(shù)問(wèn)題,動(dòng)態(tài)語(yǔ)言的感覺(jué)就是有很多的包可以使用,寫(xiě)起來(lái)的效率很高。
            • 語(yǔ)言層面支持并發(fā),這個(gè)就是Go最大的特色,天生的支持并發(fā),我曾經(jīng)說(shuō)過(guò)一句話,天生的基因和整容是有區(qū)別的,大家一樣美麗,但是你喜歡整容的還是天生基因的美麗呢?Go就是基因里面支持的并發(fā),可以充分的利用多核,很容易的使用并發(fā)。
            • 內(nèi)置runtime,支持垃圾回收,這屬于動(dòng)態(tài)語(yǔ)言的特性之一吧,雖然目前來(lái)說(shuō)GC不算完美,但是足以應(yīng)付我們所能遇到的大多數(shù)情況,特別是Go1.1之后的GC。
            • 簡(jiǎn)單易學(xué),Go語(yǔ)言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go關(guān)鍵字是25個(gè),但是表達(dá)能力很強(qiáng)大,幾乎支持大多數(shù)你在其他語(yǔ)言見(jiàn)過(guò)的特性:繼承、重載、對(duì)象等。
            • 豐富的標(biāo)準(zhǔn)庫(kù),Go目前已經(jīng)內(nèi)置了大量的庫(kù),特別是網(wǎng)絡(luò)庫(kù)非常強(qiáng)大,我最?lèi)?ài)的也是這部分。
            • 內(nèi)置強(qiáng)大的工具,Go語(yǔ)言里面內(nèi)置了很多工具鏈,最好的應(yīng)該是gofmt工具,自動(dòng)化格式化代碼,能夠讓團(tuán)隊(duì)review變得如此的簡(jiǎn)單,代碼格式一模一樣,想不一樣都很困難。
            • 跨平臺(tái)編譯,如果你寫(xiě)的Go代碼不包含cgo,那么就可以做到window系統(tǒng)編譯linux的應(yīng)用,如何做到的呢?Go引用了plan9的代碼,這就是不依賴(lài)系統(tǒng)的信息。
            • 內(nèi)嵌C支持,前面說(shuō)了作者是C的作者,所以Go里面也可以直接包含c代碼,利用現(xiàn)有的豐富的C庫(kù)。
            2、Go適合用來(lái)做什么
            • 服務(wù)器編程,以前你如果使用C或者C++做的那些事情,用Go來(lái)做很合適,例如處理日志、數(shù)據(jù)打包、虛擬機(jī)處理、文件系統(tǒng)等。
            • 分布式系統(tǒng),數(shù)據(jù)庫(kù)代理器等
            • 網(wǎng)絡(luò)編程,這一塊目前應(yīng)用最廣,包括Web應(yīng)用、API應(yīng)用、下載應(yīng)用、
            • 內(nèi)存數(shù)據(jù)庫(kù),前一段時(shí)間google開(kāi)發(fā)的groupcache,couchbase的部分組建
            • 云平臺(tái),目前國(guó)外很多云平臺(tái)在采用Go開(kāi)發(fā),CloudFoundy的部分組建,前VMare的技術(shù)總監(jiān)自己出來(lái)搞的apcera云平臺(tái)。
            3、Go成功的項(xiàng)目
            nsq:bitly開(kāi)源的消息隊(duì)列系統(tǒng),性能非常高,目前他們每天處理數(shù)十億條的消息
            docker:基于lxc的一個(gè)虛擬打包工具,能夠?qū)崿F(xiàn)PAAS平臺(tái)的組建。
            packer:用來(lái)生成不同平臺(tái)的鏡像文件,例如VM、vbox、AWS等,作者是vagrant的作者
            skynet:分布式調(diào)度框架
            Doozer:分布式同步工具,類(lèi)似ZooKeeper
            Heka:mazila開(kāi)源的日志處理系統(tǒng)
            cbfs:couchbase開(kāi)源的分布式文件系統(tǒng)
            tsuru:開(kāi)源的PAAS平臺(tái),和SAE實(shí)現(xiàn)的功能一模一樣
            groupcache:memcahe作者寫(xiě)的用于Google下載系統(tǒng)的緩存系統(tǒng)
            god:類(lèi)似redis的緩存系統(tǒng),但是支持分布式和擴(kuò)展性
            gor:網(wǎng)絡(luò)流量抓包和重放工具
            以下是一些公司,只是一小部分:
            下面列出來(lái)了一些使用的用戶(hù)
            GoUsers - go-wiki - A list of organizations that use Go.
            4、Go還存在的缺點(diǎn)
            以下缺點(diǎn)是我自己在項(xiàng)目開(kāi)發(fā)中遇到的一些問(wèn)題:
            • Go的import包不支持版本,有時(shí)候升級(jí)容易導(dǎo)致項(xiàng)目不可運(yùn)行,所以需要自己控制相應(yīng)的版本信息
            • Go的goroutine一旦啟動(dòng)之后,不同的goroutine之間切換不是受程序控制,runtime調(diào)度的時(shí)候,需要嚴(yán)謹(jǐn)?shù)倪壿嫞蝗籫oroutine休眠,過(guò)一段時(shí)間邏輯結(jié)束了,突然冒出來(lái)又執(zhí)行了,會(huì)導(dǎo)致邏輯出錯(cuò)等情況。
            • GC延遲有點(diǎn)大,我開(kāi)發(fā)的日志系統(tǒng)傷過(guò)一次,同時(shí)并發(fā)很大的情況下,處理很大的日志,GC沒(méi)有那么快,內(nèi)存回收不給力,后來(lái)經(jīng)過(guò)profile程序改進(jìn)之后得到了改善。
            • pkg下面的圖片處理庫(kù)很多bug,還是使用成熟產(chǎn)品好,調(diào)用這些成熟庫(kù)imagemagick的接口比較靠譜


            最后還是建議大家學(xué)習(xí)Go,這門(mén)語(yǔ)言真的值得大家好好學(xué)習(xí),因?yàn)樗梢宰鰪牡讓拥角岸说娜魏喂ぷ鳌?/span>
            posted on 2016-09-05 11:56 思月行云 閱讀(606) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): Golang
            狠狠色丁香久久婷婷综合蜜芽五月| 久久久久久极精品久久久| 久久久久九九精品影院| 日韩中文久久| 亚洲国产精品一区二区久久hs| 久久国产精品久久国产精品| 久久久久久毛片免费播放| 青青青青久久精品国产 | 久久久精品人妻一区二区三区蜜桃 | 人妻无码精品久久亚瑟影视| 久久久久久久97| 欧美久久综合性欧美| 欧美久久综合九色综合| 国产成人精品白浆久久69| 久久精品无码一区二区三区日韩| 久久综合给久久狠狠97色| 久久久精品人妻一区二区三区蜜桃| 91久久香蕉国产熟女线看| 亚洲精品视频久久久| 欧美牲交A欧牲交aⅴ久久 | 久久青青草原精品国产| 久久天堂电影网| 久久国产精品77777| 久久不见久久见免费影院www日本| 久久99精品久久久久婷婷| 国产高清国内精品福利99久久| 国产精品99精品久久免费| 狠狠色综合久久久久尤物| 国产精品久久波多野结衣| 久久人妻少妇嫩草AV蜜桃| 欧美粉嫩小泬久久久久久久| 91精品国产91久久久久久青草| 99久久免费国产精精品| av色综合久久天堂av色综合在| 久久er国产精品免费观看8| 亚洲欧美日韩中文久久| 久久丫忘忧草产品| 久久精品久久久久观看99水蜜桃 | 久久婷婷色综合一区二区| 亚洲成人精品久久| 国产亚洲色婷婷久久99精品91|