go语言实现http服务端与客户端

时间:2022-05-06
本文章向大家介绍go语言实现http服务端与客户端,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
go语言的net/http包的使用非常的简单优雅

(1)服务端

package main  
 
import (  
    "flag"  
    "fmt"  
    "net/http"  
)  
 
func main() {  
    host := flag.String("host", "127.0.0.1", "listen host")  
    port := flag.String("port", "80", "listen port")  
 
    http.HandleFunc("/hello", Hello)  
 
    err := http.ListenAndServe(*host+":"+*port, nil)  
 
    if err != nil {  
        panic(err)  
    }  
}  
 
func Hello(w http.ResponseWriter, req *http.Request) {  
<p>   w.Write([]byte("Hello World"))</p>}  

http.HandleFunc用来注册路径处理函数,会根据给定路径的不同,调用不同的函数

http.ListenAndSercer监听iP与端口,本机IP可以省略不写,仅书写冒号加端口,如http.ListenAndSercer(“:8080”, nil)

路径处理函数,参数必须为w http.ResponseWriter和 req *http.Request且不能有返回值

测试结果:成功

(2)客户端

package main  
 
import (  
    "fmt"  
    "io/ioutil"  
    "net/http"  
)  
 
func main() {  
    response, _ := http.Get("http://localhost:80/hello")  
    defer response.Body.Close()  
    body, _ := ioutil.ReadAll(response.Body)  
    fmt.Println(string(body))  
}  

测试结果:成功