GO 搭建一个简单的web服务器

    Go 语言里面提供了一个完善的 net/http 包,通过 http 包可以很方便的就搭建起来一个可以运行的 web 服务。同时使用这个 包能很简单地对 web 的路由,静态文件,模版,cookie 等数据进行操作.

   Demo 代码走起。

url: http://localhost:9090/aa?a=1&b=2

package main

import (

"fmt"

"log"

"net/http"

"strings"

)

func dispatcher(w http.ResponseWriter, r *http.Request) {

r.ParseForm()

str := make([]string, 10)

strings.Join(str, r.URL.Path)

strings.Join(str, "\n")

for k, v := range r.Form {

str = append(str, k)

str = append(str, "=")

str = append(str, v...)

str = append(str, "\n")

fmt.Println("key:", k)

fmt.Println("val:", strings.Join(v, ""))

}

str = append(str, "Hello world ")

fmt.Fprintln(w, strings.Join(str, " ")) //这个写入到 w 的是输出到客户端的

}

func main() {

http.HandleFunc("/", dispatcher)         //设置访问的路由

err := http.ListenAndServe(":9090", nil) //设置监听的端口

if err != nil {

log.Fatal("ListenAndServe: ", err)

}

}

 ====================================

Go 就是这么牛掰,直接就监听 tcp 端口,不再需要nginx,apache等这类软件了。自己一个人就搞定了。

猜你喜欢

转载自mojianpo.iteye.com/blog/2312779