为了账号安全,请及时绑定邮箱和手机立即绑定

将可变数量的 url 映射到 HandleFunc

将可变数量的 url 映射到 HandleFunc

Go
ITMISS 2021-09-09 13:43:30
这是我第一次尝试用Go(Golang)写一个小博客。现在,我有一个只有几页的小网站。我的main包含这个。http.HandleFunc("/about", about)http.HandleFunc("/contact", contact)http.HandleFunc("/", homepage)if err := http.ListenAndServe(":8080", nil); err != nil {    log.Fatalln(err)}我的第一个问题是:这叫什么?我称其为将 URL 映射到函数,但我的 Google 搜索结果对这些搜索字词并不有效。这就是所谓的“路由”吗?其次,我的目标是编写一个小型博客应用程序。我想使用数据库来保存博客文章和其他数据。但是,像我上面所做的那样将 URL 映射到函数似乎并不正确,因为在有人发表博客文章之前无法知道 URL 应该是什么。我希望 URL 与博客文章标题相匹配。另外,可能有数百篇博文,所以写一堆http.HandleFuncs似乎不合理。最后,我的问题是:有哪些选项可以解决这个障碍?
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

“博客应用程序”的另一种方法是静态站点生成器。

你可以在gohugo ( repo GitHub ) 中找到一个很好的例子,这意味着你只有一个 Handler:


if port > 0 {

    if !viper.GetBool("DisableLiveReload") {

        livereload.Initialize()

        http.HandleFunc("/livereload.js", livereload.ServeJS)

        http.HandleFunc("/livereload", livereload.Handler)

    }

    go serve(port)

}

但更一般地说,它被称为路由器


查看完整回答
反对 回复 2021-09-09
  • 1 回答
  • 0 关注
  • 175 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信