官术网_书友最值得收藏!

1.2.7 你好, 世界!——2.0版本

經過半個世紀的涅槃重生,Go語言不僅打印出了Unicode版本的“Hello, World”,而且可以方便地向全球用戶提供打印服務。下面的版本通過HTTP服務向每個訪問的客戶端打印中文的“你好, 世界!”和當前的時間信息:

package main
import (
    "fmt"
    "log"
    "net/http"
    "time"
)
func main() {
    fmt.Println("Please visit http://127.0.0.1:12345/")
    http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
        s := fmt.Sprintf("你好, 世界! -- Time: %s", time.Now().String())
        fmt.Fprintf(w, "%v\n", s)
        log.Printf("%v\n", s)
    })
    if err := http.ListenAndServe(":12345", nil); err != nil {
        log.Fatal("ListenAndServe: ", err)
    }
}

這里我們通過Go語言標準庫自帶的net/http包,構造了一個獨立運行的HTTP服務,其中http.HandleFunc("/", ...)針對根路徑/請求注冊了響應處理函數。在響應處理函數中,我們依然使用fmt.Fprintf()格式化輸出函數實現了通過HTTP向請求的客戶端打印格式化的字符串,同時通過標準庫的日志包在服務器端也打印相關字符串。最后通過http.ListenAndServe()函數調用來啟動HTTP服?務。

至此,Go語言終于完成了從單機單核時代的C語言到21世紀互聯網時代多核環境的通用編程語言的蛻?變。

主站蜘蛛池模板: 南通市| 曲靖市| 临西县| 东至县| 辰溪县| 开原市| 瑞丽市| 汕头市| 宝兴县| 定安县| 东乌珠穆沁旗| 永仁县| 灵武市| 墨江| 清丰县| 纳雍县| 朔州市| 镇远县| 山西省| 庆元县| 昌宁县| 花莲县| 江油市| 三门峡市| 泸溪县| 思南县| 水城县| 屯留县| 怀仁县| 定兴县| 肃宁县| 平南县| 台中市| 丘北县| 二连浩特市| 日喀则市| 广水市| 同江市| 罗平县| 常德市| 漯河市|