利用利用Go语言初步搭建一个语言初步搭建一个web应用的教程应用的教程
主要介绍了利用Go语言初步搭建一个web应用的教程,由于很多国人盲目迷信谷歌,导致Go语言在国内的人气远
超国外...需要的朋友可以参考下
1.Abstract
在学习web开发的过程中会遇到很多困难,因此写了一篇类似综述类的文章。作为路线图从web开发要素的index出发来介绍
golang开发的学习流程以及Example代码。
在描述中多是使用代码来描述使用方法不会做过多的说明。最后可以方便的copy代码来实现自己的需求。
本文适应对象:
对web开发有一定经验的人
能够灵活使用ajax的人(至少懂得前后分离)
golang web 开发有一定了解,至少略读过一些golang web开发的书籍
看完本文之后您会收获:
golang web开发的一些技巧
golang web开发的一些实用API
本文在描述的时候为了解释尽量详细,已经把解释写到代码注释中。
2.golang web 开发开发check list
略过的部分:基本流程控制,OOP等基础语法知识。
3.路由器路由器
路由器是整个网站对外的灵魂,如果路由做的不好URL会非常恶心。所以这部分设计成第一个要说的内容。
路由分两种一种是手动路由为了通过tul调度固定的功能,另外一点就是资源的获取,通过url的分析来模仿静态页的方式来
获取资源(类似get)
自动路由,主要使用OOP的COMMAND模式来实现。所有功能使用post,统一入口,方便权限管理,安全管理,跨域管
理。但是如此强大的功能还是交给框架来做吧。这里就不给新手做参考了。
3.1手动路由手动路由
复制代码 代码如下:
package main
import (
"log"
"net/http"
)
func main() {
RouterBinding() // 路由绑定函数
err := http.ListenAndServe(":9090", nil) //设置监听的端口
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
在httpserver运行之前先绑定路由
3.2 手动路由的绑定手动路由的绑定
3.2.1 静态文件静态文件
复制代码 代码如下:
http.Handle("/pages/", http.StripPrefix("/pages/", http.FileServer(http.Dir("./pages"))))
3.2.2 固定函数与资源获取
他们都是一样的