Go是一種新的語(yǔ)言,一種並發(fā)的、帶垃圾回收的、快速編譯的語(yǔ)言。它可以在一臺(tái)電腦上用幾秒鐘的時(shí)間編譯一個(gè)大型的Go程式。 Go為軟體構(gòu)造提供了一個(gè)模型,它使依賴分析更加容易,並且避免了大部分C風(fēng)格include文件與庫(kù)的開頭。 Go是靜態(tài)型別的語(yǔ)言,它的型別系統(tǒng)沒有層級(jí)。因此使用者不需要在定義類型之間的關(guān)係上花費(fèi)時(shí)間,這樣感覺起來(lái)比典型的物件導(dǎo)向語(yǔ)言更輕量級(jí)。 Go完全是垃圾回收型的語(yǔ)言,並為並發(fā)執(zhí)行與通訊提供了基本的支援。依照其設(shè)計(jì),Go打算為多核心機(jī)器上系統(tǒng)軟體的構(gòu)造提供一個(gè)方法。
Go(又稱Golang)是Google開發(fā)的靜態(tài)強(qiáng)型別、編譯型、並髮型,並具有垃圾回收功能的程式語(yǔ)言。
羅伯特?格瑞史莫(Robert Griesemer),羅伯?派克(Rob Pike)及肯?湯普遜(Ken Thompson)於2007年9月開始設(shè)計(jì)Go,稍後Ian Lance Taylor、 Russ Cox加入計(jì)畫。
Go是基於Inferno作業(yè)系統(tǒng)所開發(fā)的。 Go於2009年11月正式宣布推出,成為開放原始碼項(xiàng)目,並在Linux及Mac OS X平臺(tái)上進(jìn)行了實(shí)現(xiàn),後來(lái)追加了Windows系統(tǒng)下的實(shí)現(xiàn)。在2016年,Go被軟體評(píng)估公司TIOBE 選為「TIOBE 2016 年最佳語(yǔ)言」。?
目前,Go每半年發(fā)布一個(gè)二級(jí)版本(即從a.x升級(jí)到a.y)。
下面讓我們感受下第一個(gè)Go程式吧!
第一個(gè)Go程式
實(shí)例
package main import "fmt" func main() { fmt.Println("Hello, World!") }
執(zhí)行實(shí)例?
#點(diǎn)擊"運(yùn)行實(shí)例" 按鈕查看線上實(shí)例
Go的語(yǔ)法接近C語(yǔ)言,但對(duì)於變數(shù)的宣告有所不同。 Go支援垃圾回收功能。 Go的平行模型是以東尼·霍爾的通訊順序進(jìn)程(CSP)為基礎(chǔ),採(cǎi)取類似模型的其他語(yǔ)言包括Occam和Limbo,但它也具有Pi運(yùn)算的特徵,例如通道傳輸。在1.8版本中開放插件(Plugin)的支持,這意味著現(xiàn)在能從Go中動(dòng)態(tài)載入部分函數(shù)。
與C 相比,Go不包括如枚舉、異常處理、繼承、泛型、斷言、虛函數(shù)等功能,但增加了切片(Slice) 型、並發(fā)、管道、垃圾回收、介面(Interface)等特性的語(yǔ)言級(jí)支援。 Go 2.0版本將支援泛型,對(duì)於斷言的存在,則持負(fù)面態(tài)度,同時(shí)也為自己不提供類型繼承來(lái)辯護(hù)。
不同於Java,Go內(nèi)嵌了關(guān)聯(lián)陣列(也稱為雜湊表(Hashes)或字典(Dictionaries)),就像字串類型一樣。
提示:我們的Go教學(xué)將幫助您學(xué)習(xí)從初級(jí)到高級(jí)的Go知識(shí)。如果你有任何疑問,請(qǐng)前往PHP中文網(wǎng)Go社群提出你的問題,會(huì)有熱心網(wǎng)友為你解答。
Go撰寫風(fēng)格
在Go中有幾項(xiàng)規(guī)定,而且這些是強(qiáng)制的,當(dāng)不符合以下規(guī)定時(shí)編譯將會(huì)產(chǎn)生錯(cuò)誤。
每行程式結(jié)束後不需要寫分號(hào)(;)。
大括號(hào)({)不能夠換行放置。
if判斷式和for迴圈不需要以小括號(hào)包覆起來(lái)。
Go也有內(nèi)建gofmt工具,能夠自動(dòng)整理程式碼多餘的空白、變數(shù)名稱對(duì)齊、並將對(duì)齊空格轉(zhuǎn)換成Tab。
Go語(yǔ)言特色
簡(jiǎn)潔、快速、安全性
並行、有趣、開源
記憶體管理、陣列安全、編譯迅速
Go 語(yǔ)言用途
Go 語(yǔ)言被設(shè)計(jì)成一門應(yīng)用於搭載Web 伺服器,儲(chǔ)存叢集或類似用途的巨型中央伺服器的系統(tǒng)程式語(yǔ)言。
對(duì)於高效能分散式系統(tǒng)領(lǐng)域而言,Go 語(yǔ)言無(wú)疑比大多數(shù)其它語(yǔ)言有著更高的開發(fā)效率。它提供了海量並行的支持,這對(duì)於遊戲服務(wù)端的開發(fā)而言是再好不過(guò)了。
本Go?教學(xué)手冊(cè)涵蓋的內(nèi)容
本Go?教學(xué)涵蓋所有Go?基礎(chǔ)和進(jìn)階知識(shí),包含了Go語(yǔ)言結(jié)構(gòu)、Go 基本語(yǔ)法、Go 資料型別、Go?函數(shù)、Go?運(yùn)算符、Go?數(shù)組、Go?錯(cuò)誤處理、Go?資料轉(zhuǎn)換以及Go 語(yǔ)言開發(fā)工具等等知識(shí)介紹。
提示:本教學(xué)的每一章都包含了許多Go?實(shí)例,您可以直接點(diǎn)擊?"執(zhí)行實(shí)例"?按鈕線上查看結(jié)果。這些例子將幫助您更好地理解和使用Go?語(yǔ)言。
最新章節(jié)
- Go 語(yǔ)言開發(fā)工具 2016-10-18
- Go 錯(cuò)誤處理 2016-10-18
- Go 語(yǔ)言接口 2016-10-18
- Go 語(yǔ)言類型轉(zhuǎn)換 2016-10-18
- Go 語(yǔ)言遞歸函數(shù) 2016-10-18
- Go 語(yǔ)言Map(集合) 2016-10-18
- Go 語(yǔ)言范圍(Range) 2016-10-18
- Go 語(yǔ)言切片(Slice) 2016-10-18
相關(guān)課程
- 最新ThinkPHP 5.1全球首發(fā)影片教學(xué)(60天成就PHP大牛線上訓(xùn)練課程) 2022-02-17
- 簡(jiǎn)單聊聊PHP創(chuàng)業(yè)那點(diǎn)事 2023-01-04
- 大型實(shí)戰(zhàn)天龍八部之開發(fā)Mini版MVC架構(gòu)仿糗事百科網(wǎng)站 2018-01-25
- 登入驗(yàn)證與經(jīng)典留言板 2018-03-02
- PHP實(shí)戰(zhàn)開發(fā)極速入門: PHP快速創(chuàng)建[小型商業(yè)論壇] 2022-06-28
- 快速入門Node.JS全套完整版 2022-09-30
- 自己動(dòng)手寫 PHP MVC 框架(40節(jié)精講/鉅細(xì)/新人進(jìn)階必看) 2022-12-08
- 馬士兵spring影片教學(xué) 2022-04-12