Go语言做Web应用开发的框架,哪一个更适合入门

Python013

Go语言做Web应用开发的框架,哪一个更适合入门,第1张

Revel Web开源框架

个高效的Go语言Web开发框架, 其思路完全来自 Java 的 Play Framework。

特点

热编译,简单可选,同步(每个请求都创建自己的goroutine来处理。

Go语言Web框架:beego

一个用Go开发的应用框架,思路来自于tornado,路由设计来源于sinatra。

支持特性

MVC;

REST;

智能路由;

日志调试;

配置管理;

模板自动渲染;

layout设计;

中间件插入逻辑;

方便的JSON/XML服务;

可以学习黑马程序员的这个教程

20小时快速入门go语言:网页链接

go语言的优势

可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了。

静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高。

语言层面支持并发,这个就是Go最大的特色,天生的支持并发。Go就是基因里面支持的并发,可以充分的利用多核,很容易的使用并发。

内置runtime,支持垃圾回收,这属于动态语言的特性之一吧,虽然目前来说GC(内存垃圾回收机制)不算完美,但是足以应付我们所能遇到的大多数情况,特别是Go1.1之后的GC。

简单易学,Go语言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go关键字是25个,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等。

丰富的标准库,Go目前已经内置了大量的库,特别是网络库非常强大。

内置强大的工具,Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得如此的简单,代码格式一模一样,想不一样都很困难。

跨平台编译,如果你写的Go代码不包含cgo,那么就可以做到window系统编译linux的应用,如何做到的呢?Go引用了plan9的代码,这就是不依赖系统的信息。

内嵌C支持,Go里面也可以直接包含C代码,利用现有的丰富的C库。

以我就说只会 JavaScript 啊 Java EE 啊 PHP 的就不要冒充程序员了……

先看看 Go 的 net 包和 net/http 包。基于 net 包里相对低级的接口,用 TCP 写基本的 C/S 通信程序。如果需要权威参考书,Unix Network Programming 是唯一正确的选择。另有 Beej‘s Guide to Network Programming 方便入门。

之后去看 rfc1945 实现基本的 HTTP/1.0。再之后开始实现 HTTP/1.1 的各种细节的时候才需要 http 权威指南吧。