編程語言 Google Go 語言的初級讀本

Google最近發佈新型的編程語言,Go。它被設計爲將現代編程語言的先進 性帶入到目前仍由C語言佔統治地位的系統層面。然而,這一語言仍在試驗階段並在不斷演變。程序員

Go語言的設計者計劃設計一門簡單、高效、安全和 併發的語言。這門語言簡單到甚至不須要有一個符號表來進行詞法分析。它能夠快速地編譯;整個工程的編譯時間在秒如下的狀況是常事。它具有垃圾回收功能,因 此從內存的角度是安全的。它進行靜態類型檢查,而且不容許強制類型轉換,於是對於類型而言是安全的。同時語言還內建了強大的併發實現機制。編程

閱讀Go

Go的語法傳承了與C同樣的風格。程序由函數組成,而函數體是一系列的語句序列。一段代碼塊用花括號括起來。這門語言保留有限的關鍵字。表達式使用 一樣的中綴運算符。語法上並 無 太多出奇之處。數組

Go語言的做者在設計這一語言時堅持一個單一的指導原則:簡單明瞭至上。一些新的語法構件提供了簡明地表達一些約定俗成的概 唸的方式,相較之下用C表達顯得冗長。而其餘方面則是針對幾十年的使用所呈現出來的一些不合理的語言選擇做出了改進。安全

變量聲明

變量是以下聲明的:併發

var sum int // 簡單聲明

var total int = 42 // 聲明並初始化

最值得注意的是,這些聲明裏的類型跟在變量名的後面 。乍一看有點怪,但這更清晰明瞭。好比,如下面這個C片斷來講:編程語言

int* a, b;

它並明瞭,但這裏實際的意思是a 是一個指針,但b 不是。若是要將二者都聲明爲指針,必需要重複星號。而後在Go語言裏,經過以下方式能夠將二者都 聲明爲指針:函數

var a, b *int

若是一個變量初始化了,編譯器一般能推斷它的類型,因此程序員沒必要顯式的敲出來:post

var label = "name"

然而,在這種狀況下var 幾乎顯得是多餘了。所以,Go的做者引入了一個新的運 算符來 聲明和初始化一個新的變量:spa

name := "Samuel"

條件語句

Go語言當中的條件句與C當中所熟知的if-else構造同樣,但條件不須要被打包在括號內。這樣能夠減小閱讀代碼時的視覺上的混亂。設計

閱讀全文>>

相關文章
相關標籤/搜索