Go 小白貓學習 macaron (馬卡龍) 庫

陳子昂發表於2020-08-12
前言

馬卡龍不是說好的和美式咖啡搭配嗎?國內開源作者寫的馬卡龍框架是從馬天尼框架那邊繼承了特性。
迴歸正題,介紹馬卡龍庫並且對Go語法進行一次介紹是這個文章目的。
macaron的經典例項會讓開發者覺得好用又簡潔又靚,然後幾腳下去拔都拔不出來,這做法和Go語言真是一毛一樣啊。

macaron

go.mod管理 ,版本不低於1.6
官網地址 https://go-macaron.com/starter_guide

經典例子
//編譯可執行程式需要package main
package main
import "gopkg.in/macaron.v1"

//建立註冊執行,註冊到路由也是註冊的一種
func main(){
//go語言的方法一般都是大寫字母開頭,macaron.Classic() 建立馬卡龍基礎例項或者叫經典例項,:=是宣告定義並且自動推導型別
mr := macaron.Classic()
//註冊路由訪問域名(根路由),方法Get,func()是一個匿名函式
mr.Get("
/".func() string{
return "
hello cat" //基礎的處理器,返回String
})
mr.Run()
}

PS:這裡go語言的markDown好像有點問題啊,有二行是紅色的。
然後在外面go run main.go就執行了,執行後啟動發現是預設埠,mode是開發者,嘖嘖,看來可以自定義的很多。
上面敲這段程式碼也發現打出函式回車後,後半段是...說明後面還可以新增不定長的引數/內容。

處理器是個什麼鬼,只是叫法問題,為傳入Serives處理邏輯的物件,這裡繼續改下上面一段的資訊

mr.Get("/".func() (int,string){
//基礎的處理器,返回多個引數 int,String,內部是一個http.ResponseWriter的響應流裡面
return 200,"hello cat" //這裡就是可以暴露給前端的,當然這塊更推崇用物件,也就是Go的結構體
})
結尾

馬卡龍橫向對比支援了flask的核心功能,也支援無限路由組的無限巢狀,flask在這塊處理上比馬卡龍更麻煩。
有志學習Go語言的網際網路同行可以從這個來切入學習也是不錯的。
如果讀者正好是遊戲同行,可以從tcpx這個庫來入手socket,掌握session和中介軟體套餐後,然後再學習socket基礎庫。
學習了Go後,感覺自己Python已經忘記得差不多了,所以不要說貓只會Python了。

相關文章