使用Golang語言編寫Hello World Web應用

frankphper發表於2019-04-20

使用Golang語言編寫Hello World Web應用。被匯入的包分別為fmt包和http包,前者使得程式可以使用Fprintf等函式對I/O進行格式化,而後者則使得程式可以與HTTP進行互動。

package main

import (
    "fmt"
    "net/http"
)

// 第一個引數為ResponseWriter介面,第二個引數則為指向Request結構的指標。
// handler函式會從Request結構中提取相關的資訊,然後建立一個HTTP響應,最後再通過ResponseWriter介面將響應返回給客戶端。
func handler(writer http.ResponseWriter, request *http.Request) {
    // Fprintf函式使用一個ResponseWriter介面、一個帶有單個格式化指示符的格式化字串、一個從Request結構裡面提取到的路徑資訊作為引數。
    fmt.Fprintf(writer, "Hello World, %s!", request.URL.Path[1:])
}
func main() {
    // Handle和HandleFunc函式可以向DefaultServerMux新增處理器。
    // 把之前定義的handler函式設定為根URL被訪問時的處理器。
    http.HandleFunc("/", handler)
    // ListenAndServer使用指定的監聽地址和處理器啟動一個HTTP服務端。處理器引數通常是nil,這表示採用包變數DefaultServerMux作為處理器。
    // 啟動伺服器並讓它監聽系統的8080埠。
    http.ListenAndServe(":8080", nil)
}

相關文章