Go語言開篇

Go語言

主要特性

  1. 自動垃圾回收
  2. 更豐富的內置類型
  3. 函數多返回值
  4. 錯誤處理
    • Go語言引入了3個關鍵字用於標準的錯誤處理流程,這3個關鍵字分別爲defer、panic和recover
  5. 匿名函數和閉包
  6. 類型和接口
  7. 併發編程
    • goroutine
  8. 反射
    • 沒有泛型
  9. 語言的交互性
    • Cgo和C語言的交互性

Go語言的工程管理

Go語言的運行代碼:go rungo buildhtml

傳統工程

<project>
    |--<src>
        |--<main>   # 這裏是程序的入口
            |--main.go
        |--<code>   # 這裏放業務代碼
    |--<bin>
    |--<pak>

工程須要加入到GOPATH,存在問題:Golang應該如何組織多個項目的目錄結構?編程

使用go mod

Go框架

  1. Revel
    做爲Go語言的高效生產力框架,Revel包含的Hot Code Reload工具可讓你在每次更改文件時重建項目。它還包括各類全面和高性能的功能,所以你不須要找外部庫集成到框架中。服務器

  2. Beego
    Beego是一個完整的MVC框架,有本身的日誌庫、ORM和Web框架。你不須要再去安裝第三方庫。它有一個稱爲Bee Tool的內置工具,用於監視代碼更改,並在檢測到更改時運行任務。
    Beego能夠爲你節省不少時間,特別是在項目一開始,你要弄清楚日誌框架或應用程序結構的時候。閉包

  3. Martini
    受Sinatra啓發,Martini是一個極其輕巧但功能強大的框架。它被開發用於用Golang編寫模塊化Web應用程序和服務。併發

它的特色是非侵入式設計,快速易用,且包括各類處理程序和中間件。它可以爲HTML5模式的AngularJS應用程序執行基本路由,異常處理和默認文檔服務。框架

Martini的最佳功能是能夠使用反射,它容許開發人員動態地將數據插入處處理函數中並添加新的服務。Martini也徹底兼容http.HandlerFunc界面。不過,缺點在於Martini框架再也不維護了。分佈式

  1. Gin Gonic
    Gin Gonic是一個Web框架,有相似Martini的API,但性能更好。若是你之前使用過Martini,那麼你也必定熟悉Gin Gonic。沒用過Martini也不要緊,只須要學習10分鐘就能掌握Gin。就是這麼容易!

.......模塊化

Go生態

Golang的應用領域:區塊鏈雅畈工程師、Go服務器端/遊戲軟件工程師。Golang分佈式/雲計算軟件工程師
哪些項目使用Go語言開發?
哪些大公司正在使用Go語言函數

書籍

《GO語言編程》
《GO語言核心編程》
《Effective Go》工具

相關文章
相關標籤/搜索