Go語(yǔ)言的主要特性與發(fā)展的環(huán)境和影響因素

1 Go語(yǔ)言的主要特性與發(fā)展的環(huán)境和影響因素

關(guān)于視頻教程的進(jìn)展凤优,由于最近感冒而且項(xiàng)目比較忙,導(dǎo)致視頻教程的事情延期了好久蜈彼。在這里更新一下筑辨,視頻的教材已經(jīng)選好了,今天試錄了一下幸逆,但還有些問(wèn)題需要調(diào)整棍辕,Go Go Go,迫不及待的想分享給大家。

“ 閱讀本文大概需要4.3分鐘 ”

1.1 影響 Go 語(yǔ)言發(fā)展的早期編程語(yǔ)言

正如 “21 世紀(jì)的 C 語(yǔ)言” 這句話所說(shuō)还绘,Go 語(yǔ)言并不是憑空而造的楚昭,而是和 C++、Java 和 C# 一樣屬于 C 系拍顷。不僅如此抚太,設(shè)計(jì)者們還汲取了其它編程語(yǔ)言的精粹部分融入到 Go 語(yǔ)言當(dāng)中。

在聲明和包的設(shè)計(jì)方面昔案,Go 語(yǔ)言受到 Pascal尿贫、Modula 和 Oberon 系語(yǔ)言的影響;在并發(fā)原理的設(shè)計(jì)上踏揣,Go 語(yǔ)言從同樣受到 Tony Hoare 的 CSP(通信序列進(jìn)程Communicating Squential Processes)理論影響的 Limbo 和 Newsqueak 的實(shí)踐中借鑒了一些經(jīng)驗(yàn)庆亡,并使用了和 Erlang 類似的機(jī)制。

這是一門(mén)完全開(kāi)源的編程語(yǔ)言捞稿,因?yàn)樗褂?BSD 授權(quán)許可又谋,所以任何人都可以進(jìn)行商業(yè)軟件的開(kāi)發(fā)而不需要支付任何費(fèi)用钝尸。

盡管為了能夠讓目前主流的開(kāi)發(fā)者們能夠?qū)?Go 語(yǔ)言中的類 C 語(yǔ)言的語(yǔ)法感到非常親切而易于轉(zhuǎn)型,但是它在極大程度上簡(jiǎn)化了這些語(yǔ)法搂根,使得它們比 C/C++ 的語(yǔ)法更加簡(jiǎn)潔和干凈珍促。同時(shí),Go 語(yǔ)言也擁有一些動(dòng)態(tài)語(yǔ)言的特性剩愧,這使得使用 Python 和 Ruby 的開(kāi)發(fā)者們?cè)谑褂?Go 語(yǔ)言的時(shí)候感覺(jué)非常容易上手猪叙。

下圖展示了一些其它編程語(yǔ)言對(duì) Go 語(yǔ)言的影響:圖 1.3 其它編程語(yǔ)言對(duì) Go 語(yǔ)言的影響

1.2 為什么要?jiǎng)?chuàng)造一門(mén)編程語(yǔ)言

C/C++ 的發(fā)展速度無(wú)法跟上計(jì)算機(jī)發(fā)展的腳步,十多年來(lái)也沒(méi)有出現(xiàn)一門(mén)與時(shí)代相符的主流系統(tǒng)編程語(yǔ)言仁卷,因此人們需要一門(mén)新的系統(tǒng)編程語(yǔ)言來(lái)彌補(bǔ)這個(gè)空缺穴翩,尤其是在計(jì)算機(jī)信息時(shí)代。

對(duì)比計(jì)算機(jī)性能的提升锦积,軟件開(kāi)發(fā)領(lǐng)域不被認(rèn)為發(fā)展地足夠快或者比硬件發(fā)展更加成功(有許多項(xiàng)目均以失敗告終)芒帕,同時(shí)應(yīng)用程序的體積始終在不斷地?cái)U(kuò)大,這就迫切地需要一門(mén)具備更高層次概念的低級(jí)語(yǔ)言來(lái)突破現(xiàn)狀丰介。

在 Go 語(yǔ)言出現(xiàn)之前背蟆,開(kāi)發(fā)者們總是面臨非常艱難的抉擇,究竟是使用執(zhí)行速度快但是編譯速度并不理想的語(yǔ)言(如:C++)哮幢,還是使用編譯速度較快但執(zhí)行效率不佳的語(yǔ)言(如:.NET带膀、Java),或者說(shuō)開(kāi)發(fā)難度較低但執(zhí)行速度一般的動(dòng)態(tài)語(yǔ)言呢橙垢?顯然垛叨,Go 語(yǔ)言在這 3 個(gè)條件之間做到了最佳的平衡:快速編譯,高效執(zhí)行柜某,易于開(kāi)發(fā)嗽元。

1.3 Go 語(yǔ)言的發(fā)展目標(biāo)

Go 語(yǔ)言的主要目標(biāo)是將靜態(tài)語(yǔ)言的安全性和高效性與動(dòng)態(tài)語(yǔ)言的易開(kāi)發(fā)性進(jìn)行有機(jī)結(jié)合,達(dá)到完美平衡喂击,從而使編程變得更加有樂(lè)趣剂癌,而不是在艱難抉擇中痛苦前行。

因此惭等,Go 語(yǔ)言是一門(mén)類型安全和內(nèi)存安全的編程語(yǔ)言珍手。雖然 Go 語(yǔ)言中仍有指針的存在,但并不允許進(jìn)行指針運(yùn)算辞做。

Go 語(yǔ)言的另一個(gè)目標(biāo)是對(duì)于網(wǎng)絡(luò)通信琳要、并發(fā)和并行編程的極佳支持,從而更好地利用大量的分布式和多核的計(jì)算機(jī)秤茅,這一點(diǎn)對(duì)于谷歌內(nèi)部的使用來(lái)說(shuō)就非常重要了稚补。設(shè)計(jì)者通過(guò) goroutine 這種輕量級(jí)線程的概念來(lái)實(shí)現(xiàn)這個(gè)目標(biāo),然后通過(guò) channel 來(lái)實(shí)現(xiàn)各個(gè) goroutine 之間的通信框喳。他們實(shí)現(xiàn)了分段棧增長(zhǎng)和 goroutine 在線程基礎(chǔ)上多路復(fù)用技術(shù)的自動(dòng)化课幕。

這個(gè)特性顯然是 Go 語(yǔ)言最強(qiáng)有力的部分厦坛,不僅支持了日益重要的多核與多處理器計(jì)算機(jī),也彌補(bǔ)了現(xiàn)存編程語(yǔ)言在這方面所存在的不足乍惊。

Go 語(yǔ)言中另一個(gè)非常重要的特性就是它的構(gòu)建速度(編譯和鏈接到機(jī)器代碼的速度)杜秸,一般情況下構(gòu)建一個(gè)程序的時(shí)間只需要數(shù)百毫秒到幾秒。作為大量使用 C++ 來(lái)構(gòu)建基礎(chǔ)設(shè)施的谷歌來(lái)說(shuō)润绎,無(wú)疑從根本上擺脫了 C++ 在構(gòu)建速度上非常不理想的噩夢(mèng)撬碟。這不僅極大地提升了開(kāi)發(fā)者的生產(chǎn)力,同時(shí)也使得軟件開(kāi)發(fā)過(guò)程中的代碼測(cè)試環(huán)節(jié)更加緊湊莉撇,而不必浪費(fèi)大量的時(shí)間在等待程序的構(gòu)建上呢蛤。

依賴管理是現(xiàn)今軟件開(kāi)發(fā)的一個(gè)重要組成部分,但是 C 語(yǔ)言中“頭文件”的概念卻導(dǎo)致越來(lái)越多因?yàn)橐蕾囮P(guān)系而使得構(gòu)建一個(gè)大型的項(xiàng)目需要長(zhǎng)達(dá)幾個(gè)小時(shí)的時(shí)間棍郎。人們?cè)絹?lái)越需要一門(mén)具有嚴(yán)格的其障、簡(jiǎn)潔的依賴關(guān)系分析系統(tǒng)從而能夠快速編譯的編程語(yǔ)言。這正是 Go 語(yǔ)言采用包模型的根本原因涂佃,這個(gè)模型通過(guò)嚴(yán)格的依賴關(guān)系檢查機(jī)制來(lái)加快程序構(gòu)建的速度励翼,提供了非常好的可量測(cè)性。

整個(gè) Go 語(yǔ)言標(biāo)準(zhǔn)庫(kù)的編譯時(shí)間一般都在 20 秒以內(nèi)巡李,其它的常規(guī)項(xiàng)目也只需要半秒鐘的時(shí)間來(lái)完成編譯工作抚笔。這種閃電般的編譯速度甚至比編譯 C 語(yǔ)言或者 Fortran 更加快,使得編譯這一環(huán)節(jié)不再成為在軟件開(kāi)發(fā)中困擾開(kāi)發(fā)人員的問(wèn)題侨拦。在這之前,動(dòng)態(tài)語(yǔ)言將快速編譯作為自身的一大亮點(diǎn)辐宾,像 C++ 那樣的靜態(tài)語(yǔ)言一般都有非常漫長(zhǎng)的編譯和鏈接工作狱从。而同樣作為靜態(tài)語(yǔ)言的 Go 語(yǔ)言,通過(guò)自身優(yōu)良的構(gòu)建機(jī)制叠纹,成功地去除了這個(gè)弊端季研,使得程序的構(gòu)建過(guò)程變得微不足道,擁有了像腳本語(yǔ)言和動(dòng)態(tài)語(yǔ)言那樣的高效開(kāi)發(fā)的能力誉察。

另外与涡,Go 語(yǔ)言在執(zhí)行速度方面也可以與 C/C++ 相提并論。

由于內(nèi)存問(wèn)題(通常稱為內(nèi)存泄漏)長(zhǎng)期以來(lái)一直伴隨著 C++ 的開(kāi)發(fā)者們持偏,Go 語(yǔ)言的設(shè)計(jì)者們認(rèn)為內(nèi)存管理不應(yīng)該是開(kāi)發(fā)人員所需要考慮的問(wèn)題驼卖。因此盡管 Go 語(yǔ)言像其它靜態(tài)語(yǔ)言一樣執(zhí)行本地代碼,但它依舊運(yùn)行在某種意義上的虛擬機(jī)鸿秆,以此來(lái)實(shí)現(xiàn)高效快速的垃圾回收(使用了一個(gè)簡(jiǎn)單的標(biāo)記-清除算法)酌畜。

盡管垃圾回收并不容易實(shí)現(xiàn),但考慮這將是未來(lái)并發(fā)應(yīng)用程序發(fā)展的一個(gè)重要組成部分卿叽,Go 語(yǔ)言的設(shè)計(jì)者們還是完成了這項(xiàng)艱難的任務(wù)桥胞。

Go 語(yǔ)言還能夠在運(yùn)行時(shí)進(jìn)行反射相關(guān)的操作恳守。

使用go install能夠很輕松地對(duì)第三方包進(jìn)行部署。

此外贩虾,Go 語(yǔ)言還支持調(diào)用由 C 語(yǔ)言編寫(xiě)的海量庫(kù)文件(第 3.9 節(jié))催烘,從而能夠?qū)⑦^(guò)去開(kāi)發(fā)的軟件進(jìn)行快速遷移。

1.4 指導(dǎo)設(shè)計(jì)原則

Go語(yǔ)言通過(guò)減少關(guān)鍵字的數(shù)量(25 個(gè))來(lái)簡(jiǎn)化編碼過(guò)程中的混亂和復(fù)雜度缎罢。干凈伊群、整齊和簡(jiǎn)潔的語(yǔ)法也能夠提高程序的編譯速度,因?yàn)檫@些關(guān)鍵字在編譯過(guò)程中少到甚至不需要符號(hào)表來(lái)協(xié)助解析屁使。

這些方面的工作都是為了減少編碼的工作量在岂,甚至可以與 Java 的簡(jiǎn)化程度相比較。

Go 語(yǔ)言有一種極簡(jiǎn)抽象藝術(shù)家的感覺(jué)蛮寂,因?yàn)樗惶峁┝艘坏絻煞N方法來(lái)解決某個(gè)問(wèn)題蔽午,這使得開(kāi)發(fā)者們的代碼都非常容易閱讀和理解。眾所周知酬蹋,代碼的可讀性是軟件工程里最重要的一部分(譯者注:代碼是寫(xiě)給人看的及老,不是寫(xiě)給機(jī)器看的)。

這些設(shè)計(jì)理念沒(méi)有建立其它概念之上范抓,所以并不會(huì)因?yàn)闋砍兜揭恍└拍疃鴮⒛硞€(gè)概念復(fù)雜化骄恶,他們之間是相互獨(dú)立的。

Go 語(yǔ)言有一套完整的編碼規(guī)范匕垫,你可以在 Go 語(yǔ)言編碼規(guī)范 頁(yè)面進(jìn)行查看僧鲁。

它不像 Ruby 那樣通過(guò)實(shí)現(xiàn)過(guò)程來(lái)定義編碼規(guī)范。作為一門(mén)具有明確編碼規(guī)范的語(yǔ)言象泵,它要求可以采用不同的編譯器如 gc 和 gccgo(第 2.1 節(jié))進(jìn)行編譯工作寞秃,這對(duì)語(yǔ)言本身?yè)碛懈玫木幋a規(guī)范起到很大幫助。

LALR 是 Go 語(yǔ)言的語(yǔ)法標(biāo)準(zhǔn)偶惠,你也可以在src/cmd/internal/gc/go.y中查看到春寿,這種語(yǔ)法標(biāo)準(zhǔn)在編譯時(shí)不需要符號(hào)表來(lái)協(xié)助解析洗贰。

1.5 語(yǔ)言的特性

Go 語(yǔ)言從本質(zhì)上(程序和結(jié)構(gòu)方面)來(lái)實(shí)現(xiàn)并發(fā)編程钥平。

因?yàn)?Go 語(yǔ)言沒(méi)有類和繼承的概念,所以它和 Java 或 C++ 看起來(lái)并不相同性含。但是它通過(guò)接口(interface)的概念來(lái)實(shí)現(xiàn)多態(tài)性兄一。Go 語(yǔ)言有一個(gè)清晰易懂的輕量級(jí)類型系統(tǒng)厘线,在類型之間也沒(méi)有層級(jí)之說(shuō)。因此可以說(shuō)這是一門(mén)混合型的語(yǔ)言瘾腰。

在傳統(tǒng)的面向?qū)ο笳Z(yǔ)言中皆的,使用面向?qū)ο缶幊碳夹g(shù)顯得非常臃腫,它們總是通過(guò)復(fù)雜的模式來(lái)構(gòu)建龐大的類型層級(jí)蹋盆,這違背了編程語(yǔ)言應(yīng)該提升生產(chǎn)力的宗旨费薄。

函數(shù)是 Go 語(yǔ)言中的基本構(gòu)件硝全,它們的使用方法非常靈活。在第六章楞抡,我們會(huì)看到 Go 語(yǔ)言在函數(shù)式編程方面的基本概念伟众。

Go 語(yǔ)言使用靜態(tài)類型,所以它是類型安全的一門(mén)語(yǔ)言召廷,加上通過(guò)構(gòu)建到本地代碼凳厢,程序的執(zhí)行速度也非常快竞慢。

作為強(qiáng)類型語(yǔ)言先紫,隱式的類型轉(zhuǎn)換是不被允許的,記住一條原則:讓所有的東西都是顯式的筹煮。

Go 語(yǔ)言其實(shí)也有一些動(dòng)態(tài)語(yǔ)言的特性(通過(guò)關(guān)鍵字var)遮精,所以它對(duì)那些逃離 Java 和 .Net 世界而使用 Python、Ruby败潦、PHP 和 JavaScript 的開(kāi)發(fā)者們也具有很大的吸引力本冲。

Go 語(yǔ)言支持交叉編譯,比如說(shuō)你可以在運(yùn)行 Linux 系統(tǒng)的計(jì)算機(jī)上開(kāi)發(fā)運(yùn)行下 Windows 下運(yùn)行的應(yīng)用程序劫扒。這是第一門(mén)完全支持 UTF-8 的編程語(yǔ)言檬洞,這不僅體現(xiàn)在它可以處理使用 UTF-8 編碼的字符串,就連它的源碼文件格式都是使用的 UTF-8 編碼沟饥。Go 語(yǔ)言做到了真正的國(guó)際化添怔!

1.6 語(yǔ)言的用途

Go 語(yǔ)言被設(shè)計(jì)成一門(mén)應(yīng)用于搭載 Web 服務(wù)器,存儲(chǔ)集群或類似用途的巨型中央服務(wù)器的系統(tǒng)編程語(yǔ)言贤旷。對(duì)于高性能分布式系統(tǒng)領(lǐng)域而言澎灸,Go 語(yǔ)言無(wú)疑比大多數(shù)其它語(yǔ)言有著更高的開(kāi)發(fā)效率。它提供了海量并行的支持遮晚,這對(duì)于游戲服務(wù)端的開(kāi)發(fā)而言是再好不過(guò)了。

Go 語(yǔ)言一個(gè)非常好的目標(biāo)就是實(shí)現(xiàn)所謂的復(fù)雜事件處理(CEP)拦止,這項(xiàng)技術(shù)要求海量并行支持县遣,高度的抽象化和高性能。當(dāng)我們進(jìn)入到物聯(lián)網(wǎng)時(shí)代汹族,CEP 必然會(huì)成為人們關(guān)注的焦點(diǎn)萧求。

但是 Go 語(yǔ)言同時(shí)也是一門(mén)可以用于實(shí)現(xiàn)一般目標(biāo)的語(yǔ)言,例如對(duì)于文本的處理顶瞒,前端展現(xiàn)夸政,甚至像使用腳本一樣使用它。

值得注意的是榴徐,因?yàn)槔厥蘸妥詣?dòng)內(nèi)存分配的原因守问,Go 語(yǔ)言不適合用來(lái)開(kāi)發(fā)對(duì)實(shí)時(shí)性要求很高的軟件匀归。

越來(lái)越多的谷歌內(nèi)部的大型分布式應(yīng)用程序都開(kāi)始使用 Go 語(yǔ)言來(lái)開(kāi)發(fā),例如谷歌地球的一部分代碼就是由 Go 語(yǔ)言完成的耗帕。

如果你想知道一些其它組織使用Go語(yǔ)言開(kāi)發(fā)的實(shí)際應(yīng)用項(xiàng)目穆端,你可以到 使用 Go 的組織 頁(yè)面進(jìn)行查看。出于隱私保護(hù)的考慮仿便,許多公司的項(xiàng)目都沒(méi)有展示在這個(gè)頁(yè)面体啰。我們將會(huì)在第 21 章討論到一個(gè)使用 Go 語(yǔ)言開(kāi)發(fā)的大型存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)案例。

在 Chrome 瀏覽器中內(nèi)置了一款 Go 語(yǔ)言的編譯器用于本地客戶端(NaCl)嗽仪,這很可能會(huì)被用于在 Chrome OS 中執(zhí)行 Go 語(yǔ)言開(kāi)發(fā)的應(yīng)用程序荒勇。

Go 語(yǔ)言可以在 Intel 或 ARM 處理器上運(yùn)行,因此它也可以在安卓系統(tǒng)下運(yùn)行闻坚,例如 Nexus 系列的產(chǎn)品沽翔。

在 Google App Engine 中使用 Go 語(yǔ)言:2011 年 5 月 5 日,官方發(fā)布了用于開(kāi)發(fā)運(yùn)行在 Google App Engine 上的 Web 應(yīng)用的 Go SDK鲤氢,在此之前搀擂,開(kāi)發(fā)者們只能選擇使用 Python 或者 Java。這主要是 David Symonds 和 Nigel Tao 努力的成果卷玉。目前最新的穩(wěn)定版是基于 Go 1.4 的 SDK 1.9.18哨颂,于 2015 年 2 月 18 日發(fā)布。當(dāng)前 Go 語(yǔ)言的穩(wěn)定版本是 Go 1.4.2相种。

1.7 關(guān)于特性缺失

許多能夠在大多數(shù)面向?qū)ο笳Z(yǔ)言中使用的特性 Go 語(yǔ)言都沒(méi)有支持威恼,但其中的一部分可能會(huì)在未來(lái)被支持。

為了簡(jiǎn)化設(shè)計(jì)寝并,不支持函數(shù)重載和操作符重載

為了避免在 C/C++ 開(kāi)發(fā)中的一些 Bug 和混亂箫措,不支持隱式轉(zhuǎn)換

Go 語(yǔ)言通過(guò)另一種途徑實(shí)現(xiàn)面向?qū)ο笤O(shè)計(jì)(第 10-11 章)來(lái)放棄類和類型的繼承

盡管在接口的使用方面(第 11 章)可以實(shí)現(xiàn)類似變體類型的功能,但本身不支持變體類型

不支持動(dòng)態(tài)加載代碼

不支持動(dòng)態(tài)鏈接庫(kù)

不支持泛型

通過(guò)recover和panic來(lái)替代異常機(jī)制(第 13.2-3 節(jié))

不支持?jǐn)嘌?/p>

不支持靜態(tài)變量

關(guān)于 Go 語(yǔ)言開(kāi)發(fā)團(tuán)隊(duì)對(duì)于這些方面的討論衬潦,你可以通過(guò) Go 常見(jiàn)問(wèn)題 頁(yè)面查看斤蔓。

1.8 使用 Go 語(yǔ)言編程

如果你有其它語(yǔ)言的編程經(jīng)歷(面向?qū)ο缶幊陶Z(yǔ)言,如:Java镀岛、C#弦牡、Object-C、Python漂羊、Ruby)驾锰,在你進(jìn)入到 Go 語(yǔ)言的世界之后,你將會(huì)像迷戀你的 X 語(yǔ)言一樣無(wú)法自拔走越。Go 語(yǔ)言使用了與其它語(yǔ)言不同的設(shè)計(jì)模式椭豫,所以當(dāng)你嘗試將你的X語(yǔ)言的代碼遷移到 Go 語(yǔ)言時(shí),你將會(huì)非常失望,所以你需要從頭開(kāi)始赏酥,用 Go 的理念來(lái)思考喳整。

如果你在至高點(diǎn)使用 Go 的理念來(lái)重新審視和分析一個(gè)問(wèn)題,你通常會(huì)找到一個(gè)適用于 Go 語(yǔ)言的優(yōu)雅的解決方案今缚。

1.9 小結(jié)

這里列舉一些 Go 語(yǔ)言的必殺技:

簡(jiǎn)化問(wèn)題算柳,易于學(xué)習(xí)

內(nèi)存管理,簡(jiǎn)潔語(yǔ)法姓言,易于使用

快速編譯瞬项,高效開(kāi)發(fā)

高效執(zhí)行

并發(fā)支持,輕松駕馭

靜態(tài)類型

標(biāo)準(zhǔn)類庫(kù)何荚,規(guī)范統(tǒng)一

易于部署

文檔全面

免費(fèi)開(kāi)源

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末囱淋,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子餐塘,更是在濱河造成了極大的恐慌妥衣,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件戒傻,死亡現(xiàn)場(chǎng)離奇詭異税手,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)需纳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)芦倒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人不翩,你說(shuō)我怎么就攤上這事兵扬。” “怎么了口蝠?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵器钟,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我妙蔗,道長(zhǎng)傲霸,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任眉反,我火速辦了婚禮狞谱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘禁漓。我一直安慰自己,他們只是感情好孵睬,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布播歼。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪秘狞。 梳的紋絲不亂的頭發(fā)上叭莫,一...
    開(kāi)封第一講書(shū)人閱讀 51,190評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音烁试,去河邊找鬼雇初。 笑死,一個(gè)胖子當(dāng)著我的面吹牛减响,可吹牛的內(nèi)容都是我干的靖诗。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼支示,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼刊橘!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起颂鸿,我...
    開(kāi)封第一講書(shū)人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤促绵,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后嘴纺,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體败晴,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年栽渴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了尖坤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡熔萧,死狀恐怖糖驴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情佛致,我是刑警寧澤贮缕,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站俺榆,受9級(jí)特大地震影響感昼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜罐脊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一定嗓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧萍桌,春花似錦宵溅、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春寇损,著一層夾襖步出監(jiān)牢的瞬間凸郑,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工矛市, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留芙沥,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓浊吏,卻偏偏與公主長(zhǎng)得像而昨,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子卿捎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1.2.1 影響 Go 語(yǔ)言發(fā)展的早期編程語(yǔ)言 正如 “21 世紀(jì)的 C 語(yǔ)言” 這句話所說(shuō)配紫,Go 語(yǔ)言并不是憑空...
    高小杰閱讀 1,224評(píng)論 1 9
  • 用更少的代碼躺孝,更短的編譯時(shí)間,創(chuàng)建運(yùn)行更快的程序底桂,享受更多的樂(lè)趣植袍。 起源與發(fā)展 Go 語(yǔ)言起源 2007 年,并于...
    遼A丶孫悟空閱讀 1,962評(píng)論 0 22
  • TITLE: 編程語(yǔ)言亂燉 碼農(nóng)最大的煩惱——編程語(yǔ)言太多籽懦。不是我不學(xué)習(xí)于个,這世界變化快! 有時(shí)候還是蠻懷念十幾暮顺、二...
    碼園老農(nóng)閱讀 5,318評(píng)論 2 35
  • 選擇Go語(yǔ)言 Go語(yǔ)言是在2009年推出厅篓,2012年開(kāi)始在生產(chǎn)環(huán)境使用。自此以后捶码,Go語(yǔ)言擁有全球開(kāi)發(fā)者的熱愛(ài)羽氮,特...
    范彬2017閱讀 1,545評(píng)論 0 15
  • 《等風(fēng)也等你》 這世間有很多的意外,但不一定全是壞的惫恼,很有可能档押,這是一場(chǎng)美麗的意外。比如祈纯,你在東方明珠沒(méi)有看到...
    好_好_蘇閱讀 187評(píng)論 0 2