前言

马卡龙不是说好的和美式咖啡搭配吗?国内开源作者写的马卡龙框架是从马天尼框架那边继承了特性。
回归正题,介绍马卡龙库并且对 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 了。


↙↙↙阅读原文可查看相关链接,并与作者交流