go創建http服務


Go語言這種從零開始使用到解決問題的速度,在其他語言中是完全不可想象的。學過 C++ 的朋友都知道,一到兩年大強度的理論學習和實戰操練也只能學到這門語言的皮毛,以及知道一些基本的避免錯誤的方法。

那么,Go語言到底有多么簡單?下面通過實現一個 HTTP 服務器來了解一下。

【實例】HTTP 文件服務器是常見的 Web 服務之一。開發階段為了測試,需要自行安裝 Apache 或 Nginx 服務器,下載安裝配置需要大量的時間。使用Go語言實現一個簡單的 HTTP 服務器只需要幾行代碼,如下所示。
package main
import (
    "net/http"
)
func main() {
    http.Handle("/", http.FileServer(http.Dir(".")))
    http.ListenAndServe(":8080", nil)
}
下面是代碼說明:
第 1 行,標記當前文件為 main 包,main 包也是 Go 程序的入口包。
第 3~5 行,導入 net/http 包,這個包的作用是 HTTP 的基礎封裝和訪問。
第 7 行,程序執行的入口函數 main()。
第 8 行,使用 http.FileServer 文件服務器將當前目錄作為根目錄(/目錄)的處理器,訪問根目錄,就會進入當前目錄。
第 9 行,默認的 HTTP 服務偵聽在本機 8080 端口。

把這個源碼保存為 main.go(Go語言的源文件后綴就是.go),安裝Go語言的開發包(后續我們會講解如何安裝),在命令行輸入如下命令:
$ go run main.go

在瀏覽器里輸入http://127.0.0.1:8080即可瀏覽文件,這些文件正是當前目錄在HTTP服務器上的映射目錄。
package main

import (
    "fmt"
    "net/http"
)

func IndexHandler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintln(w, "hello world")
}

func main() {
    http.HandleFunc("/", IndexHandler)
    http.ListenAndServe("127.0.0.0:8000", nil)
}

  

http://c.biancheng.net/view/6.html  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM