Go語言結(jié)構(gòu)
Go語言的基礎(chǔ)組成有一下幾個(gè)部分:
- 包聲明
- 包引入
- 函數(shù)
- 變量
- 語句&表達(dá)式
- 注釋
關(guān)于Go的語言組成部分個(gè)人感覺跟目前比較流行的幾大高級語言如PHP含长、JAVA等都是差不多的矾柜,但是GO與這幾個(gè)語言有個(gè)最大的區(qū)別就是Go沒有類,我們先看一下一段代碼:
package main
import "fmt"
func main(){
/**This is my first Golang demo**/
str := "Hello World"
fmt.Println(str)
}
我們來看下這段代碼的組成部分
- 第一行代碼進(jìn)行了包聲明窥妇,聲明這個(gè)包名稱為main
- 第二行引入了fmt包且叁,也就是包引入
- 第三行聲明了main函數(shù)
- 第四行寫了一句注釋This is my first Golang demo在程序執(zhí)行
- 第五行聲明一個(gè)變量str值為Hello World
- 第五行調(diào)用了fmt包中的Println函數(shù)輸出str變量的值Hello World。此處需要說明一下秩伞,Go中所有包外部能調(diào)用的函數(shù)逞带,變量之類的都是首字母大寫,首字母小寫的標(biāo)識符都是私有的纱新。
基礎(chǔ)語法
Go語言可以由多個(gè)標(biāo)記組成:關(guān)鍵字展氓,標(biāo)識符,常量脸爱,字符串遇汞,符號。我們來分析一條語句:
fmt.Println("Hello World")
6個(gè)標(biāo)記分別是:
fmt
.
Println
(
"Hello World"
)
行分隔符
在 Go 程序中簿废,一行代表一個(gè)語句結(jié)束空入。每個(gè)語句不需要像 C 家族中的其它語言一樣以分號 ; 結(jié)尾,因?yàn)檫@些工作都將由 Go 編譯器自動完成族檬。如果你打算將多個(gè)語句寫在同一行歪赢,它們則必須使用 ; 人為區(qū)分,但在實(shí)際開發(fā)中我們并不鼓勵(lì)這種做法单料。
注釋
注釋不會被編譯埋凯,每一個(gè)包應(yīng)該有相關(guān)注釋。
單行注釋是最常見的注釋形式扫尖,你可以在任何地方使用以 // 開頭的單行注釋白对。多行注釋也叫塊注釋,均已以 /* 開頭换怖,并以 */ 結(jié)尾甩恼。
標(biāo)識符
標(biāo)識符用來命名變量、類型等程序?qū)嶓w沉颂。一個(gè)標(biāo)識符實(shí)際上就是一個(gè)或是多個(gè)字母(AZ和az)數(shù)字(0~9)条摸、下劃線_組成的序列,但是第一個(gè)字符必須是字母或下劃線而不能是數(shù)字兆览。
關(guān)鍵字
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 |
除了以上介紹的這些關(guān)鍵字屈溉,Go 語言還有 36 個(gè)預(yù)定義標(biāo)識符:
append | bool | byte | cap | lose | complex | complex64 | complex128 | uint16 |
---|---|---|---|---|---|---|---|---|
copy | false | float32 | float64 | imag | int | int8 | int16 | uint32 |
int32 | int64 | iota | len | make | new | nil | panic | uint64 |
println | real | revocer | string | true | uint | uint8 | uintptr |
另外 Go語言中變量的聲明必須使用空格隔開塞关。