這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
一 關鍵字
關鍵字一共25個,都是小寫。
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough ifrangetype
continue for import return var
二 Go程式的一般結構
1. Go程式是通過package來組織的。
2. 只有package名稱為main的包可以包含main函數。
3. 一個可執行程式有且僅有一個main包。
4. 通過import關鍵字來匯入其它非main包。
5. 通過const關鍵字來進行常量的定義。
6. 通過函數體外部使用var關鍵字來進行全域變數的聲明與賦值。
7. 通過type關鍵字來進行結構(struct)或介面(interface)的聲明。
8. 通過func關鍵字來進行函數的聲明。
9. Go語言注釋兩種“//"和”/* */“
一個例子
//當前程式的包名package main//匯入其它的包import ("flag""fmt""os")//常量定義const PI = 3.14//全域變數的聲明與賦值var name = "go"//一般類型的聲明type intType int//結構聲明type newType struct {}//介面聲明type newInterface interface {}//main函數,程式的入口func main() {fmt.Println(os.Args)flag.Parse()fmt.Println(flag.Args())}
三 匯入包
匯入包有兩種寫法。第一種寫法如下:
import "flag"import "fmt"import "os"
另一種寫法如下:
import ("flag""fmt""os")
匯入包之後,使用<PackageName>.<FuncName>來對包中的函數進行調用。匯入包之後,如果沒有使用包中的函數或類型,那麼編譯報錯。這是為快速編譯做的一個檢查。(應該是這樣不需要編譯用不到的包,編譯速度會快一些)。
匯入的包可以重新命名,如:import std "fmt",可以使用std.<FuncName>來調用包“fmt"中的函數。
將包名重新命名為”.",還可以省略調用,如:import . "fmt",就可以直接使用函數名來調用。不建議使用,容易混淆。
省略調用和別名不可同時使用。
四 可見度規則
Go語言中,使用大小寫來決定該常量、變數、類型、介面、結構或函數是否可以被外部包所調用:根據約定,函數名首字母小寫即為private,函數名首字母大寫即為public。
五 組
常量組
const { PI = 3.14 const1 = "1" const2 = 2 const3 = 3 }
var組,var組只能聲明全域變數,不能聲明局部變數
var { name = "go" name1 = 1 name2 = 2 }
type組
type { type1 int type2 double type3 string }