今天将Golang及GoEclipse都升级了最新的了,结果出了点问题。不能正常使用,不过最后莫名其妙的好了,我也就不再理会之前是什么原因导致的了。

在创建 go source file的时候,看到一个选项:Command Source File -> Simple Web Server

goeclipse

点击创建后,默认代码如下:

 

package main

import (
	"fmt"
	"net/http"
)

// Default Request Handler
func defaultHandler(w http.ResponseWriter, r *http.Request) {
	fmt.Fprintf(w, "

Hello %s!

", r.URL.Path[1:]) } func main() { http.HandleFunc("/", defaultHandler) http.ListenAndServe(":8080", nil) }

这样,一个基本的Golang 的http server demo就出来了. 访问http://127.0.0.1:8080/则可以看到结果了。

可见,目前golang与Python twisted、Node.js等在同类功能上,都差不多一样方便了。

 
添加一个新的handle, 例如得到服务器的环境变量, 代码如下:

 


package main

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


// Default Request Handler
func defaultHandler(w http.ResponseWriter, r *http.Request) {
	fmt.Fprintf(w, "

Hello %s!

", r.URL.Path[1:]) } // getEnv Request Handler func getEnv(writer http.ResponseWriter, req *http.Request) { env := os.Environ() writer.Write([]byte("

本机环境变量


")) for _, v := range env { writer.Write([]byte(v + "
")) } writer.Write([]byte("
")) } func main() { http.HandleFunc("/", defaultHandler) http.HandleFunc("/get", getEnv) http.ListenAndServe(":8080", nil) }

访问地址: http://127.0.0.1:8080/get 即可。

 

One Reply to “golang http server

发表评论

电子邮件地址不会被公开。 必填项已用*标注