Golang: WebGoGoGo(0.概述Web编程)

Go web 编程都有哪些内容? Gin? Beego?

和这方面的霸主 PHP, JavaWeb 相比,Golang能占优势的地方可能只有性能吧?

也不见得,Golang的反射效率并不高,用了框架不一定就干的过 Java

大致看了看,Web 编程主要涉及这几个方面:

  • web路由 (uri解析/ restful设计)
  • 中间件 (业务和非业务分离)
  • validator验证 (业务代码前的一大堆验证,检验)
  • db/orm/sql builder (结构体映射,序列化等)
  • 流行框架的学习和使用

要说内容不多,其实也还是有点儿多的;只是难度比较小而已。

Golang 标准库不是已经充分支持 Web 开发了么?

golang标准库自带的 net/http 本质上还是够用的,只是快速开发不那么方便。
特别你的 uri 超过10个,模式也很多的情况。

但是真正用到具体框架的时候会发现内容远远不止这么多.

就像 Gin 是在 httprouter 的基础上添加很多特性一样,其他的框架也会根据需要补充很多内容,如 cache, log, config, form,i18n, session等等,而不仅仅是 http 处理/库。

但这又有什么关系呢?

只是使用方式不同,但是大家思路对的起点是一样的。(还是根据公司的业务背景来吧)

比较好的框架,推荐如下:

  • Beego
  • Gin

Google 推荐的比较完整:(根据需要选择,没必要全部都看)

书的话,如果要看,可以尝试一下 黄健宏翻译的《Go web 编程》,讲的比较基础。(谢孟军写了一本《Go Web编程》推荐)

btw: sql-drivers


Merlin 2018.3 Golang Web 呵呵

文章目录
|