1. 程式人生 > >Go語言學習筆記(一)

Go語言學習筆記(一)

1.Go目錄結構(適用公司)


bin-存放編譯後的二進位制檔案
pkg-存放編譯後的庫檔案
src-{程式碼倉庫域名,如github.com}-專案檔案{
業務組A-[專案A-[模組A,模組B...],專案B-[模組A, 模組B...],...]
業務組B-[專案A-[模組A,模組B...],專案B-[模組A, 模組B...],...]
...

 

2.Go基本命令

a.go run 快速執行go檔案

b.go build 編譯程式,生成二進位制可執行檔案。最小單位是package

指定可執行檔案的名稱和存放路徑:go build -o bin/hello.exe listen1/hello

c.go install 安裝可執行檔案到bin目錄

d.go test 執行單元測試

e.go env 顯示go相關的環境變數

f.go fmt 格式化原始碼(最小單位也是package)

 

3,註釋

1.單行註釋://

2.多行註釋:/**/

 

4,Go語言特性


a.垃圾回收:記憶體自動回收,只需要new分配記憶體,不需要釋放
b.天然併發:從語言層面支援併發,只需要go一下。goroutine,輕量級執行緒,可以建立成千上萬個goroutine。

  1: func calc(){
  2: 	//大量計算
  3: 	fmt.Println("calc finished
")
  4: }
  5: func main(){
  6: 	go calc()
  7: 	fmt.Println("i exited")
  8: }

c.channel:管道,多個gotoutine通過channel來進行通訊,支援任何型別
d.多返回值:一個函式可以返回多個值

  1: func add(a int, b int) (int, int) {
  2: 	return a + b, a -b
  3: }

e.編譯性語言:效能只比C語言差10%,開發效率和Python差不多

 

5,識別符號&關鍵字

識別符號是用來表示Go中的變數名或函式名,以字母或_開頭。後面跟著字母、_或數字

如:88ab,_ab28,ab_28

關鍵字:這個學過任何語言的都懂。