一,變量數組
var:聲明變:app
var 變量名 數據類型 :同時還須要指定數據的類型函數
var 變量名 = 值 : 聲明變量,根據變量值判斷變量類型ui
:= :省略var,直接能夠(變量名:= 值),注意:不能和其餘的變量名重複,不然致使編譯的錯誤spa
package main var a = "Hello word" var b string = "Hello word" var c bool func main(){ println(a, b, c) }
main函數是go語言裏面的執行函數,一些執行的代碼就能夠寫在main函數裏面,也證實了這個文件屬於main這個包名xml
二,main函數和init函數blog
Go裏面有兩個保留的函數:init函數(可以應用於全部的package)和main函數(只能應用於package main)。這兩個函數在定義時不能有任何的參數和返回值。雖然一個package裏面能夠寫任意多個init函數,但這不管是對於可讀性仍是之後的可維護性來講,咱們都強烈建議用戶在一個package中每一個文件只寫一個init函數。字符串
Go程序會自動調用init()和main(),因此你不須要在任何地方調用這兩個函數。每一個package中的init函數都是可選的,但package main就必須包含一個main函數。string
程序的初始化和執行都起始於main包。若是main包還導入了其它的包,那麼就會在編譯時將它們依次導入。有時一個包會被多個包同時導入,那麼它只會被導入一次(例如不少包可能都會用到fmt包,但它只會被導入一次,由於沒有必要導入屢次)。當一個包被導入時,若是該包還導入了其它的包,那麼會先將其它包導入進來,而後再對這些包中的包級常量和變量進行初始化,接着執行init函數(若是有的話),依次類推。等全部被導入的包都加載完畢了,就會開始對main包中的包級常量和變量進行初始化,而後執行main包中的init函數(若是存在的話),最後執行main函數。下圖詳細地解釋了整個執行過程:it
三,入門的第一段代碼
package main import "fmt" func main() { fmt.Printf("hello,world!\n") }
四,go的基本語法
Go 程序能夠由多個標記組成,能夠是關鍵字,標識符,常量,字符串,符號
fmt.Println("Hello, World!")
行分隔符:註釋不會被編譯,每個包應該有相關注釋
單行使用//,多行使用/*.....*/
標識符:標識符用來命名變量、類型等程序實體。一個標識符實際上就是一個或是多個字母(A~Z和a~z)數字(0~9)、下劃線_組成的序列,可是第一個字符必須是字母或下劃線而不能是數字。(GO法人關鍵字是無效的標識符)
關鍵字:
下面列舉了 Go 代碼中會使用到的 25 個關鍵字或保留字: break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var 除了以上介紹的這些關鍵字,Go 語言還有 36 個預約義標識符: append bool byte cap close complex complex64 complex128 uint16 copy false float32 float64 imag int int8 int16 uint32 int32 int64 iota len make new nil panic uint64 print println real recover string true uint uint8 uintptr 程序通常由關鍵字、常量、變量、運算符、類型和函數組成。 程序中可能會使用到這些分隔符:括號 (),中括號 [] 和大括號 {}。 程序中可能會使用到這些標點符號:.、,、;、: 和 …。
go的空格:聲明變量必須使用空格分開