请问 `http.ResponseWriter` 怎么替换成了 `io.Writer`

在旧代码中

// ---  4. 读取成功,显示文章 ---

        // 4.0 设置模板相对路径
        viewDir := "resources/views"

        // 4.1 所有布局模板文件 Slice
        files, err := filepath.Glob(viewDir + "/layouts/*.gohtml")
        logger.LogError(err)

        // 4.2 在 Slice 里新增我们的目标文件
        newFiles := append(files, viewDir+"/articles/show.gohtml")

        // 4.3 解析模板文件
        tmpl, err := template.New("show.gohtml").
            Funcs(template.FuncMap{
                "RouteName2URL": route.Name2URL,
            }).ParseFiles(newFiles...)

        // 4.4 渲染模板,将所有文章的数据传输进去
        tmpl.ExecuteTemplate(w, "app", article)

上面的w是指http.ResponseWriter的类型

view.go中变成了io.Writer

// Render 渲染视图
func Render(w io.Writer, name string, data interface{}) {
    // 1 设置模板相对路径
    viewDir := "resources/views/"

    // 2. 语法糖,将 articles.show 更正为 articles/show
    name = strings.Replace(name, ".", "/", -1)

    // 3 所有布局模板文件 Slice
    files, err := filepath.Glob(viewDir + "layouts/*.gohtml")
    logger.LogError(err)

    // 4 在 Slice 里新增我们的目标文件
    newFiles := append(files, viewDir+name+".gohtml")

    // 5 解析所有模板文件
    tmpl, err := template.New(name + ".gohtml").
        Funcs(template.FuncMap{
            "RouteName2URL": route.Name2URL,
        }).ParseFiles(newFiles...)
    logger.LogError(err)

    // 6 渲染模板
    tmpl.ExecuteTemplate(w, "app", data)
}

请问这是为什么呢?

讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!