go http服务

jinjiashan · · 1829 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

go 实现一个http服务是很简单的

1,特点:不需要依赖容器, 不同于java 与 php

2,可以使用进程的内存, 对于配置文件就不需要第三方存储

服务端代码:

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

func MyHandle(res http.ResponseWriter,  req *http.Request){
       fmt.Println("MyHanle")
       req.ParseForm()
       for key, v:=range req.Form{
              fmt.Println("key:", key, "value:", v)
       }

       res.Write([]byte("name: "+ req.Form["age"][0]))
}


func MyTest(res http.ResponseWriter,  req *http.Request){
       fmt.Println("MyTest")
       req.ParseForm()
       for key, v:=range req.Form{
              fmt.Println("key:", key, "value:", v)
       }

       res.Write([]byte("name: "+ req.Form["age"][0]))
}

func main(){
       fmt.Println("main start")
       http.HandleFunc("/root", MyHandle)
       http.HandleFunc("/test", MyTest)
       http.ListenAndServe("127.0.0.1:9999", nil)
       for{
              time.Sleep(1e9)
       }
}

 

客户端代码:

package main
import "fmt"
import (
       "net/http"
       "io/ioutil"
)
func main(){
       fmt.Println("main start")
       rsp, _ := http.Get("http://127.0.0.1:9999/root?name=for&age=56")
       data, _:=ioutil.ReadAll(rsp.Body)
       p:= string(data)
       fmt.Println(p)
}

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1829 次点击  ∙  1 赞  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传