go語言編程 要點總結(一)簡介

 

go語言編程 要點總結(一)簡介

 

簡介

特性:

  • 自動垃圾回收 gc
  • 更豐富的內置類型 字符串 字典,切片
  • 函數多返回值 避免構建一個新的數據結構獲取返回值
  • 錯誤處理 defer panic recover
  • 匿名函數和閉包 函數也是值類型
  • 類型和接口 鴨式辯行,只要實現了接口中所有方法的類型,可以當作是接口類型直接賦值,而不需要繼承
  • 併發編程 goroutine,通過消息傳遞而不是通過共享內存通信,go關鍵字啓動一個協程,一個協程阻塞時,調度器會調用其他的協程執行,調度的開銷非常小,go實現了CSP 通信順序進程模型,用channel來實現,通過channel來進行跨goroutine的通信,如果多個goroutine不得不訪問共享內存,可以使用sync包提供讀寫鎖功能
  • 反射 獲取對象類型的詳細信息,對性能有影響,不推薦使用
  • 語言交互性 可以通過Cgo工具調用c語言代碼

其他需要注意的地方:

  • package表示go代碼所屬的包,go可執行程序必須包含一個名爲main的包,其中包含一個main()函數,沒有參數也不能定義返回值,命令行傳入的參數在os.Args中
  • import用於導入依賴的包,不能包含在源碼文件中沒有用到的包,否則go編譯器會報錯
  • 使用關鍵字func 定義函數
  • 註釋和C語言相同

編譯程序

  • go build 編譯
  • go run 編譯加執行

工程管理

  • 使用go命令行
  • 工程路徑加入到GOPATH中(./bashrc中export,多個路徑用冒號分割)
  • 消除工程文件概念,完全用目錄結構和包名來推導工程結構和構建順序
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章