golang之web编程入门
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编程入门相关推荐
- go web编程入门教程
想了解下区块链相关的东西,从头开始学习go 语法实在是耐不下心,稍微看了下 还是直接做web来学吧,主要材料如下 尚硅谷GoWeb教程 go web编程快速入门 go语言标准库 web应用的流程如图所 ...
- Java Web 编程入门知识
Java SE 的内容基本都讲完了. 但是 Java一般用于网络编程, 就是所谓的web编程. Java SE讲的基本上都是本地程序的内容. 而Java web编程需要在两个程序中传输数据, 以后就是 ...
- Go Web编程入门:路由
引言 Go 的 net/http 包为 HTTP 协议提供了很多功能.它做得不好的一件事是复杂的请求路由,例如将请求 url 分割成单个参数. 幸运的是,有一个非常流行的包,它在 Go 社区中以良好的 ...
- Go Web 编程 (一) - 快速入门
1.应用场景 基于go, 编写web项目, 替换PHP的实现方案. 2.学习/操作 1. 文档 快速入门:创建第一个 Go Web 应用 | 快速入门 | Go Web 编程 2. 整理输出 2.1 ...
- 《jQuery与JavaScript入门经典》——第 1 章 动态Web编程简介 1.1理解Web服务器浏览器范式...
本节书摘来自异步社区<jQuery与JavaScript入门经典>一书中的第1章,第1.1节,作者:[美]Brad Dayley著,更多章节内容可以访问云栖社区"异步社区&quo ...
- Python编程入门实战:打造你的第一个Web应用
简介 欢迎来到本篇博客--"Python编程入门实战:打造你的第一个Web应用".无论你是一个初学者,还是有一些编程基础的开发者,我相信你都可以在这篇文章中收获知识和启发. Pyt ...
- 开心档开发入门网之C++ Web 编程
C++ Web 编程 什么是 CGI? 公共网关接口(CGI),是一套标准,定义了信息是如何在 Web 服务器和客户端脚本之间进行交换的. CGI 规范目前是由 NCSA 维护的,NCSA 定义 CG ...
- 编程入门到进大厂,你需要这套学习架构
我相信大多数学习编程的同学都有着对大公司的憧憬.技术.声望.薪资.福利,这些都足以成为吸引你进入大厂的理由. 但是,如何进入大厂呢? 对于很多同学来说,通往大厂的道路并不明朗,不知道是否有希望,也不知 ...
- 脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手
转自即时通讯网:http://www.52im.net/ 1.引言 网络编程中TCP协议的三次握手和四次挥手的问题,在面试中是最为常见的知识点之一.很多读者都知道"三次"和&quo ...
- Go Web编程--应用ORM
上篇文章中我们在使用的开发环境中增加了 MySQL容器,然后介绍了使用 database/sql标准库结合数据库驱动包进行数据库操作的方法.不过它们是相对偏底层的软件包.实际开发经常会使用一些在它的基 ...
最新文章
- ServiceStack.OrmLite使用
- python中nltk_python2.7和NLTK安装详细教程
- Jquery中发送ajax请求示例代码
- vue如何发送网络请求,使用axios事半功倍!
- 将dll制作成控件_案例丨首例将影视作品制作成网络图片集被判侵权案 二审维持原判...
- 虚拟机登录/系统管理等命令
- 【iOS】使用storyboard界面跳转报错:unrecognized selector sent to instance 0x7
- 停止做这7件事,你的工作效率至少翻一倍!
- ectouch微信登录提示此次操作失败请返回重试原因
- win10edge启用html5,win10系统下edge浏览器怎么启用和禁用flash
- 如何快速将MOV格式视频转换成MP4格式
- C# QQ连连看外挂(内存版)源代码
- dpkg: 依赖关系问题使得 sdkmanager 的配置工作不能继续: sdkmanager 依赖于 libgconf-2-4;然而: 未安装软件包 libgconf-2-4。 [已解决]
- linux proftpd mysql_proftpd mysql quota 配置完全指南
- 测试打印 lua 的 _G 所有显示的字段内容
- excel应用技巧:F功能键诸多应用汇总
- video.js 视频直播前端展示
- 2019北邮网安院机试真题(回忆版)@lantin
- 爱奇艺《大魔术师》海内外备受关注
- NIH发布包含10600张CT图像数据库 为AI算法测试铺路
热门文章
- php编辑jquery弹出窗,jquery实现一个简单好用的弹出框
- Highways POJ-1751 最小生成树 Prim算法
- Java基础教程——线程局部变量
- 最少钱币数-1-贪心算法(错,或者叫有问题)-CCF-CSP练习题(50)
- cavium公司和xPliant芯片
- 深入了解Java虚拟机(1)java内存区域与内存溢出异常
- IOS: iPhone键盘通知与键盘定制
- boost::unorder_map如何插入元素_「leetcode」701. 二叉搜索树中的插入操作:【递归法】【迭代法】详解...
- floyd算法求最短路径_算法题-蜜蜂采蜜最短路径
- 单片机双击 长按 c语言,单片机三种按键模式 单击 双击 长按