前天刚刚用GO写了个Hello,今天弄了一下GO的web服务器。
其实GO的web服务器搭建非常容易。这里就不说GO的基本语句了,推荐一个网址学习https://github.com/astaxie/build-web-application-with-golang/blob/master/ebook/preface.md。直接上代码吧。
package main
import (
"fmt"
"net/http"
"strings"
"log"
)
func sayHelloGO(w http.ResponseWriter, r *http.Request) {
r.ParseForm() //解析参数,默认是不会解析的
fmt.Println(r.Form) //这些信息是输出到服务器端的打印信息
fmt.Println("path", r.URL.Path)
fmt.Println("scheme", r.URL.Scheme)
for k, v := range r.Form {
fmt.Println("key:", k)
fmt.Println("val:", strings.Join(v, ""))
}
fmt.Fprintf(w, "Hello GO!")
}
func main() {
http.HandleFunc("/",sayHelloGO)
err := http.ListenAndServe(":9090",nil)
if err != nil {
log.Fatal("ListenAndServe: ",err)
}
}
运行上面的代码,然后在浏览器输入
http://localhost:9090/就会看到如下结果
在控制台会看到这样的结果
然后如果输入这个urlhttp://localhost:9090/?a=111&b=222,控制台的结果如下
首先导入一些包,要建立WEB服务器最重要的就是net/http这个包。
在main方法中使用http.HandleFunc("/",sayHelloGO)就是指http://localhost:9090/就触发sayHelloGO方法。
在sayHelloGO方法里面就解析http.Request,输出url的地址,参数,然后在http.ResponseWriter中输出Hello GO!
就这样,一个简单的GO服务器就搭建好了。
未完,待续