好玩的Go語言
Go語言是Google推出的新的一個(gè)致力于系統(tǒng)級(jí)的編程語言。很多人說它是 C + Python,既有c的靈活高效,又有Python的簡單易用,它的原則是 Simple && Fast。它的語法規(guī)則很簡單。其官方網(wǎng)站上有一個(gè)《三天學(xué)會(huì)Go語言》的教程,包括三部分:基本結(jié)構(gòu),面向?qū)ο螅l(fā)。一個(gè)周末的時(shí)間就差不多可以掌握其基本面貌。相對(duì)來說,第三部分“并發(fā)”似乎難接受一些。但是如果你對(duì)多線程,同步,消息隊(duì)列這些東西很有經(jīng)驗(yàn)的話,對(duì)它的概念也會(huì)容易理解。
2.Go語言的面向?qū)ο?/span>
Go語言在C語言語法的基礎(chǔ)上,以最簡潔的形式加入了面向?qū)ο蟆?br> 關(guān)于繼承:Go語言沒有繼承。但是它支持嵌入,這個(gè)有點(diǎn)類似于其它語言的mixin,可以用來模擬繼承。
關(guān)于多態(tài):Go 語言的最大特點(diǎn)是它的接口定義。所謂“接口”,就是一組方法的集合。任何一個(gè)類只要實(shí)現(xiàn)了一個(gè)接口的所有方法,則是該接口的實(shí)現(xiàn)者,不需要顯式聲明實(shí)現(xiàn)該接口。所以一個(gè)沒有任何方法的空接口可以代表任何類型。
3.Go語言的并發(fā)
Go語言提出一個(gè)新的概念—Go例程,有點(diǎn)類似于線程,但是更加輕量,更省資源。Go例程之間的通信方式 ——信道,這是GO 語言的核心概念,有點(diǎn)類似于UNIX的Pipe。在Go語言中,不需要接觸線程,鎖這些低階概念。
4.Go語言可以用來做什么
Go語言目前最強(qiáng)的是它的網(wǎng)絡(luò)功能。它的package中已經(jīng)實(shí)現(xiàn)了最常見的網(wǎng)絡(luò)協(xié)議和編碼處理。Go的官方網(wǎng)站使用的就是Go語言,實(shí)際上它就是Go的文檔系統(tǒng)godoc。
還沒有官方對(duì)數(shù)據(jù)庫支持,不過因?yàn)橥ㄟ^某種辦法可以在Go語言中直接調(diào)用C函數(shù),所以很容易的實(shí)現(xiàn)對(duì)MYSQL 或者 Sqlite 這些數(shù)據(jù)庫的支持。
至于GUI,這估計(jì)目前還不在設(shè)計(jì)者的考慮范圍之內(nèi),因?yàn)樗麄冞BWindows都不舍得支持。不過可以通過它的http包和template包等等,已經(jīng)構(gòu)成了一個(gè)WEB框架,可以用來實(shí)現(xiàn)WEB GUI的開發(fā),使用Go寫一個(gè)帶有路徑分派的Http服務(wù)器也就幾行代碼的事。
posted on 2010-01-11 19:48 eXile 閱讀(22028) 評(píng)論(39) 編輯 收藏 引用 所屬分類: 網(wǎng)絡(luò)開發(fā)