一、寫在之前:
這幾天聞聽go出了1.1版。網上傳其效能是原來的兩倍。當然有好多反對聲音。不過了作為一個一心想弄go的人就在想。我怎麼升級了。怎麼升級了?
win不用說直接重新下載。
linux了:
$ cd go/src
$ hg pull
$ hg update release
$ ./all.bash
哈就這麼簡單!
二、開始web
代碼很簡單啊。真沒想到這麼簡單!:
package main
import (
"io"
"net/http"
"log"
)
// hello world, the web server
func HelloServer(w http.ResponseWriter, req *http.Request) {
io.WriteString(w, "hello, world!\n")
}
func handler(w http.ResponseWriter, req *http.Request) {
io.WriteString(w, "It works!\n")
}
func apiList(w http.ResponseWriter, req *http.Request) {
}
func main() {
http.HandleFunc("/", handler)
http.HandleFunc("/hello", HelloServer)
http.HandleFunc("/list", apiList)
err := http.ListenAndServe(":12345", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
解釋哈 page 不用說了。只是說明其所在的包。
import (
"io"
"net/http"
"log"
)
是重點,go提供了好多內建的包來幫我們工作,他們調用方便呵呵。
一個簡單的 web伺服器。就用http包呵呵
下面main上已經很清楚了,做個web的都知道url重寫。main函數的內容就相當於這個。只是他把所有的ur重寫的 都重寫給函數處理。
/ 給Handel處理 /hello 給helloServer處理 /list給apilist
然後讓其監視12345連接埠
編譯 然後在你的瀏覽器中輸入http://localhost:12345 你就會看到handel函數輸出的內容。
這就是go!
這段時間比較忙,跟新的慢。
下次請期待。做個更複雜點的網站 呵呵