19年第34周:Go语言 搭建迷你服务器-Golang语言

一,效果

19年第34周:Go语言 搭建迷你服务器-Golang语言_第1张图片
服务器返回了一张图片

二,Golang代码

package main

import (
    "fmt"
    "./models"
    "log"
    "net/http"
)

func main(){
    // 1, 迷你服务器
    http.HandleFunc("/", handler)  // 注册函数 类似于 路由管理 urls.py
    http.HandleFunc("/sanhuo", handlerLisa)  // 注册函数
    log.Fatal(http.ListenAndServe("localhost:8000", nil))  // 服务器启动

}

// 1, "/" 的回调函数 类似于Django的 视图 views.py
func handler(w http.ResponseWriter, r *http.Request) {
    // "w 为啥没有显式的返回? 为啥不是像Django那样显式的返回
    fmt.Fprintf(w,"这是用Golang搭建的迷你服务器 = %q\n", r.URL.Path)
}

// 2, "/sanhuo" 的回调函数 类似于Django的 视图 views.py
func handlerLisa(w http.ResponseWriter, r *http.Request) {
    // 将李萨茹图形.gif 输出到 w
    models.Lissajous(w)  // 可以定义返回任何东西
}

三、问题

下面的代码中,w 为啥没有显式的返回? 为啥不是像Django那样显式的返回,不是很明白这个处理流程
参考解决:等我睡一觉也许就明白了

func handler(w http.ResponseWriter, r *http.Request) {
    // "w 为啥没有显式的返回? 为啥不是像Django那样显式的返回
    fmt.Fprintf(w,"这是用Golang搭建的迷你服务器 = %q\n", r.URL.Path)
}

你可能感兴趣的:(19年第34周:Go语言 搭建迷你服务器-Golang语言)