go web

Posted 九尘

tags:

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

http请求

hello world

技术图片
package main

import (
    "fmt"
    "net/http"
)

//创建处理器函数
func handler(w http.ResponseWriter,r *http.Request){
    //r.URL.Path路由中的参数
    fmt.Fprintln(w,"世界 你好",r.URL.Path)
}

func main(){
    //创建多路复用器
    mux:=http.NewServeMux()
    mux.HandleFunc("/",handler)
    //创建路由
    http.ListenAndServe(":8080",mux)

}
View Code

web服务器的创建

使用默认的多路复用器(DefaultServeMux)

1.使用处理器函数处理请求
技术图片
package main

import (
    "fmt"
    "net/http"
)

//使用默认的多路服用器
//1.使用处理器函数处理请求
//创建处理器函数
func handler(w http.ResponseWriter,r *http.Request){
    fmt.Fprintln(w,"正在通过处理器函数处理您的请求")
}

func main(){
    http.HandleFunc("/",handler)
    http.ListenAndServe(":8080",nil)
}
View Code
2.使用处理器处理请求
技术图片
package main

import (
    "fmt"
    "net/http"
)

//2.使用处理器处理请求

type MyHandler struct{}

func (h *MyHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintln(w, "正在通过处理器处理您的请求")
}

func main() {
    myHandler := MyHandler{}
    //调用处理器
    http.Handle("/", &myHandler)
    http.ListenAndServe(":8080", nil)
}
View Code

3.测试通过Server结构详细配置服务器

技术图片
package main

import (
    "fmt"
    "net/http"
    "time"
)

//通过Server结构对服务器进行更详细的配置

type MyHandler struct{}

func (h *MyHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintln(w, "测试通过Server结构详细配置服务器")
}

func main() {
    myHandler := MyHandler{}
    //通过Server结构对服务器进行更详细的配置
    server := http.Server{
        Addr:        ":8080",
        Handler:     &myHandler,
        ReadTimeout: 2 * time.Second,
    }
    server.ListenAndServe()
}
View Code

使用自己创建的多路复用器

技术图片
package main

import (
    "fmt"
    "net/http"
)

//使用自己创建的多路复用器

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintln(w, "通过自己创建的多路复用器来处理请求")
}

func main() {
    mux := http.NewServeMux()
    mux.HandleFunc("/myMux", handler)
    http.ListenAndServe(":8080", mux)
}
View Code

 

 

 

 

 

 

 

 

 

未完待续。。。

以上是关于go web的主要内容,如果未能解决你的问题,请参考以下文章

你知道的Go切片扩容机制可能是错的

JAVA WEB代码片段

web代码片段

golang代码片段(摘抄)

代码片段 - Golang 实现简单的 Web 服务器

高效Web开发的10个jQuery代码片段