golang之web编程入门
来源:互联网 发布:数据库 pdf 编辑:程序博客网 时间:2024/04/27 19:50
golang之web编程入门示例,聊聊数行,简单理解。
package mainimport ("fmt""html/template""log""net/http""strings")func sayhelloName(w http.ResponseWriter, r *http.Request) {r.ParseForm() //解析url传递的参数,对于POST则解析响应包的主体(request body)//注意:如果没有调用ParseForm方法,下面无法获取表单的数据fmt.Println(r.Form) //这些信息是输出到服务器端的打印信息\fmt.Println("path", r.URL.Path)fmt.Println("scheme", r.URL.Scheme)fmt.Println(r.Form["url_long"])for k, v := range r.Form {fmt.Println("key:", k)fmt.Println("val:", strings.Join(v, ""))}fmt.Fprintf(w, "Hello wow!") //这个写入到w的是输出到客户端的}func login(w http.ResponseWriter, r *http.Request) {fmt.Println("method:", r.Method) //获取请求的方法if r.Method == "GET" {t, _ := template.ParseFiles("login.html")t.Execute(w, nil)} else {r.ParseForm() //解析url传递的参数,对于POST则解析响应包的主体(request body)//请求的是登陆数据,那么执行登陆的逻辑判断fmt.Println("username:", r.Form["username"])fmt.Println("password:", r.Form["password"])fmt.Fprintf(w, "Hello %s!", r.Form["username"]) //这个写入到w的是输出到客户端的}}func main() {var err errorhttp.HandleFunc("/", sayhelloName) //设置访问的路由http.HandleFunc("/login", login) //设置访问的路由err = http.ListenAndServe(":9090", nil) //设置监听的端口if err != nil {log.Fatal("ListenAndServe: ", err)}}
go编程之路由器函数:
package mainimport ("fmt""net/http")type MyMux struct {}//设置路由器func (p *MyMux) ServeHTTP(w http.ResponseWriter, r *http.Request) {if r.URL.Path == "/" {sayhelloName(w, r)return}http.NotFound(w, r)return}func sayhelloName(w http.ResponseWriter, r *http.Request) {fmt.Fprintf(w, "Hello gerryyang, version 2!\n")}func main() {mux := &MyMux{}http.ListenAndServe(":9090", mux)}
1 0
- golang之web编程入门
- golang之web编程执行流程
- golang web编程
- Golang从入门到精通(十八):Golang并发编程之Goroutine
- Golang从入门到精通(十九):Golang并发编程之Channel
- Golang-web网站入门-服务器入门
- golang编程之时间编程
- golang编程之时间编程
- GoLang之搭建Web服务器
- Golang Web 框架 Beego 快速入门
- golang编程之文件操作
- golang学习之--简单的web网站
- golang学习之web服务流程分析
- golang study 01 编程之美1.3
- web入门之十 JS高级编程基础
- golang的web框架—beego入门简介
- javaweb之web入门
- 新手学习,web编程入门(二)——语言学习入门之道
- Android adt-bundle开发环境搭建小记
- jjava.lang.UnsupportedClassVersionError: main/Main : Unsupported major.minor version 52.0
- JavaScript 各种遍历方式详解
- 【Java并发编程】:并发新特性—Executor框架与线程池(含代码)
- 通过SpringMail API发送邮件
- golang之web编程入门
- SEC phase
- 快讯:两市强势回升 有色板块涨幅居前
- 【数据结构】顺序表的基本操作
- Linux下实现USB口的热插拔事件触发
- lararvel config 配置
- 固定电话+手机号码正则表达式
- 修改jsp的默认的编码方式
- 并发编程系列之一:锁的意义