19年第34周:Go 搭建迷你服务器

习惯研究所所长 · · 848 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

一,效果

服务器返回了一张图片

二,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 搭建迷你服务器

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

848 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传