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)
}

golang之web编程入门相关推荐

  1. go web编程入门教程

    想了解下区块链相关的东西,从头开始学习go 语法实在是耐不下心,稍微看了下 还是直接做web来学吧,主要材料如下 尚硅谷GoWeb教程 go web编程快速入门 go语言标准库 web应用的流程如图所 ...

  2. Java Web 编程入门知识

    Java SE 的内容基本都讲完了. 但是 Java一般用于网络编程, 就是所谓的web编程. Java SE讲的基本上都是本地程序的内容. 而Java web编程需要在两个程序中传输数据, 以后就是 ...

  3. Go Web编程入门:路由

    引言 Go 的 net/http 包为 HTTP 协议提供了很多功能.它做得不好的一件事是复杂的请求路由,例如将请求 url 分割成单个参数. 幸运的是,有一个非常流行的包,它在 Go 社区中以良好的 ...

  4. Go Web 编程 (一) - 快速入门

    1.应用场景 基于go, 编写web项目, 替换PHP的实现方案. 2.学习/操作 1. 文档 快速入门:创建第一个 Go Web 应用 | 快速入门 | Go Web 编程 2. 整理输出 2.1 ...

  5. 《jQuery与JavaScript入门经典》——第 1 章 动态Web编程简介 1.1理解Web服务器浏览器范式...

    本节书摘来自异步社区<jQuery与JavaScript入门经典>一书中的第1章,第1.1节,作者:[美]Brad Dayley著,更多章节内容可以访问云栖社区"异步社区&quo ...

  6. Python编程入门实战:打造你的第一个Web应用

    简介 欢迎来到本篇博客--"Python编程入门实战:打造你的第一个Web应用".无论你是一个初学者,还是有一些编程基础的开发者,我相信你都可以在这篇文章中收获知识和启发. Pyt ...

  7. 开心档开发入门网之C++ Web 编程

    C++ Web 编程 什么是 CGI? 公共网关接口(CGI),是一套标准,定义了信息是如何在 Web 服务器和客户端脚本之间进行交换的. CGI 规范目前是由 NCSA 维护的,NCSA 定义 CG ...

  8. 编程入门到进大厂,你需要这套学习架构

    我相信大多数学习编程的同学都有着对大公司的憧憬.技术.声望.薪资.福利,这些都足以成为吸引你进入大厂的理由. 但是,如何进入大厂呢? 对于很多同学来说,通往大厂的道路并不明朗,不知道是否有希望,也不知 ...

  9. 脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手

    转自即时通讯网:http://www.52im.net/ 1.引言 网络编程中TCP协议的三次握手和四次挥手的问题,在面试中是最为常见的知识点之一.很多读者都知道"三次"和&quo ...

  10. Go Web编程--应用ORM

    上篇文章中我们在使用的开发环境中增加了 MySQL容器,然后介绍了使用 database/sql标准库结合数据库驱动包进行数据库操作的方法.不过它们是相对偏底层的软件包.实际开发经常会使用一些在它的基 ...

最新文章

  1. ServiceStack.OrmLite使用
  2. python中nltk_python2.7和NLTK安装详细教程
  3. Jquery中发送ajax请求示例代码
  4. vue如何发送网络请求,使用axios事半功倍!
  5. 将dll制作成控件_案例丨首例将影视作品制作成网络图片集被判侵权案 二审维持原判...
  6. 虚拟机登录/系统管理等命令
  7. 【iOS】使用storyboard界面跳转报错:unrecognized selector sent to instance 0x7
  8. 停止做这7件事,你的工作效率至少翻一倍!
  9. ectouch微信登录提示此次操作失败请返回重试原因
  10. win10edge启用html5,win10系统下edge浏览器怎么启用和禁用flash
  11. 如何快速将MOV格式视频转换成MP4格式
  12. C# QQ连连看外挂(内存版)源代码
  13. dpkg: 依赖关系问题使得 sdkmanager 的配置工作不能继续: sdkmanager 依赖于 libgconf-2-4;然而: 未安装软件包 libgconf-2-4。 [已解决]
  14. linux proftpd mysql_proftpd mysql quota 配置完全指南
  15. 测试打印 lua 的 _G 所有显示的字段内容
  16. excel应用技巧:F功能键诸多应用汇总
  17. video.js 视频直播前端展示
  18. 2019北邮网安院机试真题(回忆版)@lantin
  19. 爱奇艺《大魔术师》海内外备受关注
  20. NIH发布包含10600张CT图像数据库 为AI算法测试铺路

热门文章

  1. php编辑jquery弹出窗,jquery实现一个简单好用的弹出框
  2. Highways POJ-1751 最小生成树 Prim算法
  3. Java基础教程——线程局部变量
  4. 最少钱币数-1-贪心算法(错,或者叫有问题)-CCF-CSP练习题(50)
  5. cavium公司和xPliant芯片
  6. 深入了解Java虚拟机(1)java内存区域与内存溢出异常
  7. IOS: iPhone键盘通知与键盘定制
  8. boost::unorder_map如何插入元素_「leetcode」701. 二叉搜索树中的插入操作:【递归法】【迭代法】详解...
  9. floyd算法求最短路径_算法题-蜜蜂采蜜最短路径
  10. 单片机双击 长按 c语言,单片机三种按键模式 单击 双击 长按