Go語言源碼文件編碼格式必須是 UTF-8
格式,不然會致使編譯器出錯。函數
在 Go 程序中,一行表明一個語句結束。每一個語句不須要像其它語言同樣以分號 ";"
結尾,由於這些工做都將由 Go 編譯器自動完成。ui
若是你打算將多個語句寫在同一行,它們則必須使用 ";"
人爲區分。實例以下:編碼
package main import ( "fmt" ) func main() { fmt.Println("oldboy") fmt.Println("Linux"); fmt.Println("Java");fmt.Println("DBA") fmt.Println("Python");fmt.Println("Golang"); }
註釋不會被編譯,每個包應該有相關注釋。spa
Go語言代碼註釋支持 "//"、"/**/"
兩種註釋方式,不能嵌套。 建議用單行註釋 // 源碼裏也是這麼用的code
單行註釋是最多見的註釋形式,你能夠在任何地方使用以 // 開頭的單行註釋。多行註釋也叫塊註釋,均已以 /* 開頭,並以 */ 結尾。實例以下orm
// 單行註釋 /* 多行註釋 */
can't load package: package main: hello.go:1:1: expected 'package', found 'EOF'
由於Go語言中,全部文件必須隸屬於某一個包。須要在文件的頭部聲明一個package name,其中package爲關鍵字,name爲包名。blog
添加內容以下:遞歸
package main
執行編譯,將會輸出以下錯誤:get
runtime.main_main·f: relocation target main.main not defined runtime.main_main·f: undefined: "main.main"
由於Go程序啓動時,須要在文件中有一個可標識入口。Go程序的入口函數是main函數。編譯器
添加內容以下:
package main
func main(){}
執行運行命令 go run hello.go
,程序正確執行並很快就退出了
到目前爲止,咱們已經建立了本身的第一個程序。雖然沒有功能,可是已經能夠正常運行了。
package main func main(){ Println("hello world") }
執行編譯,將會輸出以下錯誤:
./hello.go:4:2: undefined: Println
由於Println函數存放在fmt包中。咱們程序中沒有主動引入fmt包,因此編譯器報未定義錯誤。
若是咱們須要使用這些包中的功能,首先須要import引入相應的包。包中的可導出組件能夠經過 包名.組件名的方式進行調用。
函數Println和其它讀寫文本和字符的函數,都存放在一個叫作fmt的包中——formatting的縮寫。
package main import "fmt" func main(){ fmt.Println("hello world") }
執行 go run hello.go 命令,運行程序。運行結果以下:
hello world
Go 程序啓動執行順序以下:
按順序導入全部被 main 包引用的其它包,而後在每一個包中執行以下流程:
若是該包又導入了其它的包,則從第一步開始遞歸執行,可是每一個包只會被導入一次。
而後以相反的順序在每一個包中初始化常量和變量,若是該包含有 init 函數的話,則調用該函數。
在完成這一切以後,main 也執行一樣的過程,最後調用 main 函數開始執行程序。