Go语言
主要特性
- 自动垃圾回收
- 更丰富的内置类型
- 函数多返回值
- 错误处理
- Go语言引入了3个关键字用于标准的错误处理流程,这3个关键字分别为defer、panic和recover
- goroutine
- 没有泛型
- Cgo和C语言的交互性
Go语言的工程管理
Go语言的运行代码:go run 和 go build
传统工程
<project> |--<src> |--<main> # 这里是程序的入口 |--main.go |--<code> # 这里放业务代码 |--<bin> |--<pak>
工程需要加入到GOPATH,存在问题:Golang应该如何组织多个项目的目录结构?
使用go mod
Go框架
Revel
作为Go语言的高效生产力框架,Revel包含的Hot Code Reload工具可以让你在每次更改文件时重建项目。它还包括各种全面和高性能的功能,因此你不需要找外部库集成到框架中。Beego
Beego是一个完整的MVC框架,有自己的日志库、ORM和Web框架。你不需要再去安装第三方库。它有一个称为Bee Tool的内置工具,用于监视代码更改,并在检测到更改时运行任务。
Beego可以为你节省很多时间,特别是在项目一开始,你要弄清楚日志框架或应用程序结构的时候。Martini
受Sinatra启发,Martini是一个极其轻巧但功能强大的框架。它被开发用于用Golang编写模块化Web应用程序和服务。
它的特点是非侵入式设计,快速易用,且包括各种处理程序和中间件。它能够为HTML5模式的AngularJS应用程序执行基本路由,异常处理和默认文档服务。
Martini的最佳功能是可以使用反射,它允许开发人员动态地将数据插入到处理函数中并添加新的服务。Martini也完全兼容http.HandlerFunc界面。不过,缺点在于Martini框架不再维护了。
- Gin Gonic
Gin Gonic是一个Web框架,有类似Martini的API,但性能更好。如果你以前使用过Martini,那么你也一定熟悉Gin Gonic。没用过Martini也没关系,只需要学习10分钟就能掌握Gin。就是这么容易!
.......
Go生态
Golang的应用领域:区块链雅畈工程师、Go服务器端/游戏软件工程师。Golang分布式/云计算软件工程师
有疑问加站长微信联系(非本文作者)