Go Web 实战之HTTP的封装
来源:互联网 发布:清华大学化学系 知乎 编辑:程序博客网 时间:2024/03/28 23:04
Go web
从今天起 ,本菜准备跟着无闻学习一下Beego服务。Beego还是比较好的一个web框架。其实很多东西都可以照着官网去学习。
学习的友情链接: beego官网 https://beego.me
其他GO文档查询网站 https://gowalker.org
按照官网,首先实现一个最最简单的HTTP服务器
go get github.com/astaxie/beego
好了,接着。创建一个main.go (其实更详细的过程可以参见beego官网)
package mainimport ("github.com/astaxie/beego")type HomeController struct {beego.Controller}func (self *HomeController) Get() {self.Ctx.WriteString("Hello,World !! ")}func main() {beego.Router("/",&HomeController{})beego.Run()}
这段代码十分的简单。初始化一个Controller,重载一下Get方法。Get方法呢,就去写进去一个字符串。而main函数是注册一个路由。将对 "/" 的访问,全部去导入到 HomeController 中,再beego.Run()
看看这个被重载的beego.controller
下面具体来介绍http服务器的底层实现。
version1
package mainimport ("io""log""net/http")func main() {//设置路由http.HandleFunc("/",handler)err:=http.ListenAndServe(":80",nil)if err!=nil{log.Fatal(err)}}func handler(w http.ResponseWriter,r *http.Request){io.WriteString(w,"Hello world,this is version 1")}
Version2
package mainimport ("io""log""net/http")func main() {mux := http.NewServeMux()mux.Handle("/",&myHandler{})err:=http.ListenAndServe(":80",mux)if err != nil {log.Fatal(err)}}type myHandler struct {}func (*myHandler) ServeHTTP(w http.ResponseWriter,r *http.Request){io.WriteString(w,"URL:"+r.URL.String())}
阅读全文
0 0
- Go Web 实战之HTTP的封装
- go http 请求封装
- Go实战--通过basic认证的http(basic authentication)
- Go实战--net/http中JSON的使用(The way to go)
- Go实战--也许最快的Go语言Web框架kataras/iris初识二(TOML、Cache、Cookie)
- Go实战--也许最快的Go语言Web框架kataras/iris初识三(Redis、leveldb、BoltDB)
- Go实战--也许最快的Go语言Web框架kataras/iris初识四(i18n、filelogger、recaptcha)
- 商城项目实战29:Httpclient封装的Http工具
- javaer to go之简单的ORM封装
- go web: 2 封装日志包log
- Go 的 HTTP 工具
- go的http详解
- go的http包
- go语言之http服务器的简单建立
- go的入门之路 http get请求
- go 的入门之路 http post 请求
- go语言 通过http包搭建简单web服务器 对http包源码的略微分析
- Go实战--也许最快的Go语言Web框架kataras/iris初识(basic认证、Markdown、YAML、Json)
- php ajax mysql 获取数据库信息 分页显示
- [转]Python yield 使用浅析
- MySQL备份与恢复
- Ubuntu14.04安装VMware-tools
- python插入记录后取得主键id的方法(cursor.lastrowid和conn.insert_id())
- Go Web 实战之HTTP的封装
- WPS忘记保存关闭了如何恢复
- Python简单爬虫开发的学习笔记整理(爬取百度百科词条)
- 1075. 链表元素分类(25)
- 13在O(1)时间内删除链表结点python
- The Busy Coder's Guide to Android Development http://commonsware.com/Android
- Django中利用filter与simple_tag为前端自定义函数的实现方法
- linux 下网络编程基础
- 欢迎使用CSDN-markdown编辑器