目錄
Hello World
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}
使用 go run 指令執行程序:
$ go run hello.go
使用 go build 指令生成二進制:
$ go build hello.go
$ ll
total 4256
-rwxr-xr-x 1 mickeyfan staff 2.1M 7 5 11:08 hello
-rw-r--r-- 1 mickeyfan staff 76B 7 5 11:08 hello.go
$ ./hello
程序結構
Go 程序的基本組成部分,包括:
- 包聲明
- 導入包
- 函數
- 變量
- 表達式
- 語句
- 註釋
包聲明
必須在源文件中非註釋的第一行指明這個文件屬於哪個包,使用 package 關鍵字,如:package main,表示一個可獨立執行的 main 程序,每個 Go 應用程序都包含一個名爲 main 的包。
注意:
- 文件名與包名沒有直接關係,並非需要一致。
- 文件夾名與包名沒有直接關係,並非需要一致。
- 同一個文件夾下的文件只能有一個包名,否則編譯報錯。
導入包
使用 package 關鍵字定義的包,可以被其他包導入,使用 import 關鍵字。例如:import “fmt”,表示告訴 Go 編譯器當前這個 main 包需要使用到 fmt 包中的函數,或其他元素。fmt 包實現了格式化 IO(輸入/輸出)的函數。
函數
使用 func 關鍵字來修飾一個函數的定義,例如:func main(),main 函數是每一個可執行程序所必須包含的,作爲程序的入口。但 Golang 還定義了 init() 初始化函數的概念,若存在則最優先執行。
標識符
常量名、變量名、類型、函數名、結構體名稱都統稱之爲標識符。Golang 標識符由 A-Z、a-z、0-9、_(下劃線)任意組成,但第一個字符必須是字母或下劃線而不能是數字。
當標識符以一個大寫字母開頭,如:Group1,表示其可以被外部包導入並使用,相對於當前包而言,這被稱爲導出。當標識符以小寫字母開頭,如:group1,則對外部包是不可見的,僅在當前包內部可見。
關鍵字
語句
一行代表一個語句結束。每個語句間不需要行間隔符 “;”,這些工作將由 Go 編譯器自動完成。如果你希望將多個語句寫在同一行,它們則必須使用 “;” 人爲區分,但在實際開發中並不鼓勵這種做法。
表達式
表達式通常由標識符和運算符組成,與語句的本質區別的與:表達是一定有返回值,而語句不一定。
註釋
Golang 的註釋和 C 語言一般:
- 單行註釋://
- 塊(多行)註釋:/**/