一、Go的語言基礎部分由這幾個部分組成函數
好比下面這個簡單的代碼:學習
func main() { fmt.Println("第一個程序") }
須要注意的是,若是想把單獨的.go文件做爲獨立的可執行文件的時候。須要在代碼的第一行加上code
package main
文件的入口方法爲:get
func main(){ }
go的語法和c是很像的,可是又沒有c那麼底層。因此有c基礎的人,學習go會特別的快。須要注意的一點是:string
go聲明變量的時候是把變量類型放在變量的後面的,就像這樣:
var a string = "abc"
go也能夠不指定數據類型,可是必需要賦值。若是不賦值,自動類型檢查就沒法起到做用基礎
哪怕你直接這樣:變量
var a=""
附一個空格值給變量也是能夠的,就是不能不賦值,也不能爲null。並且在go中也沒有null的概念,取而代之的是nil:意思爲0、無的意思。數據類型
還可使用默認值,就像這樣:語法
var a bool
輸出爲:false程序
//沒有進行賦值,可是指明瞭是什麼類型、go會自動加上空值。 var a string
//能夠不指定變量類型,經過變量值,go會自行判斷該變量的類型。 var a=1
//這種方式是省略了var,可是這種方式能對新的變量使用,對已經聲明的變量使用會報錯。 a:=1
注:
三種變量的聲明形式的做用都是同樣的,要麼賦值可自動判斷其類型,要麼不賦值,指定變量類型,就這麼兩點。還須要注意的是,go的變量是若是被聲明瞭,那麼必須使用,否則會報錯,若是不想使用能夠加上_=varName,表示爲已拋棄的變量。
//已聲明,但未使用 var a=1 //標識爲已拋棄的變量。 _=a
還須要重點強調的點:
- go的變量在已經被聲明後,是不能使用:=再次賦值的。
//這樣是錯誤的 var a=1 a:=2
可是可使用=爲已聲明的變量賦新的值。
//這樣作是能夠的。 var a=1 a=2
並且若是變量值沒被使用,那麼請加上以拋棄的標識。
_=a
go能夠直接聲明多個變量,經過函數能夠返回多個返回值,好比:
//一次性聲明全部的變量類型爲string類型 var name1,var name2,var name3 string //函數返回多個返回值 func getName(name1,name2,name3,name4){ return "aa","bb","cc","dd" } //返回多個返回的值的函數須要用多個變量進行接受 var a, b, c, d = getName()
go可以使用var關鍵字聲明全局變量,可是:=這種方式是不能用在全局變量中的。:=只能用在函數體內部。
var ( a int b bool xx,yy,dd string="xx","yy","dd" //這裏省略變量類型也是能夠的。 zz,aa="zz","aa" )
好比像這樣,這樣作會報語法錯誤
var( a:=1 )
syntax error: unexpected :=