Web--Go语言学习笔记

Posted 旧时星空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web--Go语言学习笔记相关的知识,希望对你有一定的参考价值。

Web–Go语言学习笔记

HTTP

Http:无状态协议,是互联网中使用Http实现计算机和计算机之间的请求与响应

  • Http使用纯文本方式发送和接受协议数据,不需要专门工具进行分析就可以知道协议中数据
  • 组成
    • 请求头
    • 请求行
    • 请求体
    • 响应头
    • 响应体

模型

  • B/S结构,客户端/服务器端,客户端运行在浏览器中
  • C/S结构,客户端/服务器端,客户端是独立的软件
func HandFunc(pattern string,handler func(ResponseWriter,*Rwquest)){
    //调用函数对应访问时输入的地址
}
func ListenAndServe(addr string,handler Handler)error{
    Server:=&Server{Addr:addr,Handler:handler}
    reutrn server.ListenAndServe()
}//监听访问地址
func welcome(res http.ResponseWriter,req *http.Request){
    res.Header().Set("Content-Type","text/html;charset=utf-8")//实现go中的html代码可以被浏览器解析
    fmt.Fprintln(res,"Hello World GoLang Web")
}
func main(){
    http.HandleFunc("/",welcome)//浏览器打印Hello World GoLang Web
    http.ListenAndServe("localhost:8090",nil)
    fmt.Println("服务已启动")
}

单处理器-处理所有的地址的响应

type MyHander struct{
}
func (m *MyHander) ServeHTTP(w http.ResponseWriter,r *http.Request){
	w.Write([]byte("返回的数据"))
}
func main(){
	h:=MyHander{}
	server:=http.Server{Addr:"localhost:8091",Handler: &h}
	server.ListenAndServe()
}

多处理器-单一地址对应单一处理器

import "net/http"

type MyHander struct{
}
type MyHandle struct{
}
func (m *MyHander) ServeHTTP(w http.ResponseWriter,r *http.Request){
	w.Write([]byte("Hander返回的数据"))
}
func (m *MyHandle) ServeHTTP(w http.ResponseWriter,r *http.Request){
	w.Write([]byte("Handle返回的数据"))
}
func main(){
	h:=MyHander{}
	h1:=MyHandle{}
	server:=http.Server{Addr:"localhost:8091"}
	http.Handle("/first",&h)
	http.Handle("/second",&h1)
	server.ListenAndServe()
}

多处理函数

func first(w http.ResponseWriter, r*http.Request) {
	fmt.Println(w, "多函数first")
}
func second(w http.ResponseWriter,r*http.Request){
	fmt.Println("多函数second")
}
func main(){
	sever:=http.Server{Addr:"localhost:8090"}
	http.HandleFunc("/first",first)
	http.HandleFunc("/second",second)
	sever.ListenAndServe()
}

以上是关于Web--Go语言学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

DOM探索之基础详解——学习笔记

学习笔记 链接

ReactJs学习笔记01

OpenCV 学习笔记(颜色直方图计算 calcHist)

JSP 学习笔记