命名:
所有的go源碼都是以 ".go" 結(jié)尾。
Go的函數(shù)曙痘、變量芳悲、常量、自定義類型边坤、包(package)的命名方式遵循以下規(guī)則:
1)首字符可以是任意的Unicode字符或者下劃線
2)剩余字符可以是Unicode字符名扛、下劃線、數(shù)字
3)字符長度不限
2.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
可見性:
1)聲明在函數(shù)內(nèi)部茧痒,是函數(shù)的本地值肮韧,類似private
2)聲明在函數(shù)外部,是對當前包可見(包內(nèi)所有.go文件都可見)的全局值旺订,類似protect
3)聲明在函數(shù)外部且首字母大寫是所有包可見的全局值,類似publi
第一個go語言程序
package main //包名,如果是主函數(shù)必須寫main,該包下其他的go文件package名可以和包名不同
import "fmt" //引入內(nèi)置包
func main() { //主函數(shù)
fmt.Println("hello world")
}
init函數(shù)
go語言中init函數(shù)用于包(package)的初始化惹苗,該函數(shù)是go語言的一個重要特性。
有下面的特征:
1 init函數(shù)是用于程序執(zhí)行前做包的初始化的函數(shù)耸峭,比如初始化包里的變量等
2 每個包可以擁有多個init函數(shù)
3 包的每個源文件也可以擁有多個init函數(shù)
4 同一個包中多個init函數(shù)的執(zhí)行順序go語言沒有明確的定義(說明)
5 不同包的init函數(shù)按照包導入的依賴關系決定該初始化函數(shù)的執(zhí)行順序
6 init函數(shù)不能被其他函數(shù)調(diào)用桩蓉,而是在main函數(shù)執(zhí)行之前,自動被調(diào)用
init函數(shù)
go語言中init函數(shù)用于包(package)的初始化劳闹,該函數(shù)是go語言的一個重要特性院究。
有下面的特征:
1 init函數(shù)是用于程序執(zhí)行前做包的初始化的函數(shù),比如初始化包里的變量等
2 每個包可以擁有多個init函數(shù)
3 包的每個源文件也可以擁有多個init函數(shù)
4 同一個包中多個init函數(shù)的執(zhí)行順序go語言沒有明確的定義(說明)
5 不同包的init函數(shù)按照包導入的依賴關系決定該初始化函數(shù)的執(zhí)行順序
6 init函數(shù)不能被其他函數(shù)調(diào)用本涕,而是在main函數(shù)執(zhí)行之前业汰,自動被調(diào)用
go語言內(nèi)置命令
go env用于打印Go語言的環(huán)境信息。
go run命令可以編譯并運行命令源碼文件菩颖。
go get可以根據(jù)要求和實際情況從互聯(lián)網(wǎng)上下載或更新指定的代碼包及其依賴包样漆,并對它們進行編譯和安裝。
go build命令用于編譯我們指定的源碼文件或代碼包以及它們的依賴包晦闰。
go install用于編譯并安裝指定的代碼包及它們的依賴包放祟。
go clean命令會刪除掉執(zhí)行其它命令時產(chǎn)生的一些文件和目錄鳍怨。
go doc命令可以打印附于Go tool pprof命令來交互式的訪問概要文件的內(nèi)容。