開(kāi)心檔之Go 語(yǔ)言基礎(chǔ)語(yǔ)法
Go 語(yǔ)言基礎(chǔ)語(yǔ)法

上一章節(jié)我們已經(jīng)了解了 Go 語(yǔ)言的基本組成結(jié)構(gòu),本章節(jié)我們將學(xué)習(xí) Go 語(yǔ)言的基礎(chǔ)語(yǔ)法。
Go 標(biāo)記
Go 程序可以由多個(gè)標(biāo)記組成,可以是關(guān)鍵字,標(biāo)識(shí)符,常量,字符串,符號(hào)。如以下 GO 語(yǔ)句由 6 個(gè)標(biāo)記組成:
fmt.Println("Hello, World!")
6 個(gè)標(biāo)記是(每行一個(gè)):
1. fmt2. .3. Println4. (5. "Hello, World!"6. )
行分隔符
在 Go 程序中,一行代表一個(gè)語(yǔ)句結(jié)束。每個(gè)語(yǔ)句不需要像 C 家族中的其它語(yǔ)言一樣以分號(hào) ; 結(jié)尾,因?yàn)檫@些工作都將由 Go 編譯器自動(dòng)完成。
如果你打算將多個(gè)語(yǔ)句寫(xiě)在同一行,它們則必須使用 ; 人為區(qū)分,但在實(shí)際開(kāi)發(fā)中我們并不鼓勵(lì)這種做法。
以下為兩個(gè)語(yǔ)句:
fmt.Println("Hello, World!")
fmt.Println("菜鳥(niǎo)教程:kxdang.com")
注釋
注釋不會(huì)被編譯,每一個(gè)包應(yīng)該有相關(guān)注釋。
單行注釋是最常見(jiàn)的注釋形式,你可以在任何地方使用以 // 開(kāi)頭的單行注釋。多行注釋也叫塊注釋,均已以 /* 開(kāi)頭,并以 */ 結(jié)尾。如:
// 單行注釋/*
Author by 菜鳥(niǎo)教程
我是多行注釋
*/
標(biāo)識(shí)符
標(biāo)識(shí)符用來(lái)命名變量、類型等程序?qū)嶓w。一個(gè)標(biāo)識(shí)符實(shí)際上就是一個(gè)或是多個(gè)字母(A~Z和a~z)數(shù)字(0~9)、下劃線_組成的序列,但是第一個(gè)字符必須是字母或下劃線而不能是數(shù)字。
以下是有效的標(biāo)識(shí)符:
mahesh ? kumar ? abc ? move_name ? a_123
myname50 ? _temp ? j ? a23b9 ? retVal
以下是無(wú)效的標(biāo)識(shí)符:
1ab(以數(shù)字開(kāi)頭)
case(Go 語(yǔ)言的關(guān)鍵字)
a+b(運(yùn)算符是不允許的)
字符串連接
Go 語(yǔ)言的字符串可以通過(guò) + 實(shí)現(xiàn):
實(shí)例
package main
import "fmt"
func main() {
fmt.Println("Google" + "Runoob")
}
以上實(shí)例輸出結(jié)果為:
GoogleRunoob
關(guān)鍵字
下面列舉了 Go 代碼中會(huì)使用到的 25 個(gè)關(guān)鍵字或保留字:
breakdefaultfuncinterfaceselectcasedefergomapstructchanelsegotopackageswitchconstfallthroughifrangetypecontinueforimportreturnvar
除了以上介紹的這些關(guān)鍵字,Go 語(yǔ)言還有 36 個(gè)預(yù)定義標(biāo)識(shí)符:
appendboolbytecapclosecomplexcomplex64complex128uint16copyfalsefloat32float64imagintint8int16uint32int32int64iotalenmakenewnilpanicuint64printprintlnrealrecoverstringtrueuintuint8uintptr
程序一般由關(guān)鍵字、常量、變量、運(yùn)算符、類型和函數(shù)組成。
程序中可能會(huì)使用到這些分隔符:括號(hào) (),中括號(hào) [] 和大括號(hào) {}。
程序中可能會(huì)使用到這些標(biāo)點(diǎn)符號(hào):.、,、;、: 和 ...。
Go 語(yǔ)言的空格
Go 語(yǔ)言中變量的聲明必須使用空格隔開(kāi),如:
var age int;
語(yǔ)句中適當(dāng)使用空格能讓程序更易閱讀。
無(wú)空格:
fruit=apples+oranges;
在變量與運(yùn)算符間加入空格,程序看起來(lái)更加美觀,如:
fruit = apples + oranges;
格式化字符串
Go 語(yǔ)言中使用 fmt.Sprintf 格式化字符串并賦值給新串:
實(shí)例
package main
import (
"fmt"
)
func main() {
// %d 表示整型數(shù)字,%s 表示字符串
var stockcode=123
var enddate="2020-12-31"
var url="Code=%d&endDate=%s"
var target_url=fmt.Sprintf(url,stockcode,enddate)
fmt.Println(target_url)
}
輸出結(jié)果為:
Code=123&endDate=2020-12-31
更多內(nèi)容參見(jiàn):Go fmt.Sprintf 格式化字符串