Go 将可变数量的URL映射到HandleFunc
这是我第一次尝试用Go(Golang)写一个小博客。现在,我有一个只有几页的小网站。我的Go 将可变数量的URL映射到HandleFunc,go,Go,这是我第一次尝试用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) } 我的第一个问题是:这叫什么?
main
包含此项
http.HandleFunc("/about", about)
http.HandleFunc("/contact", contact)
http.HandleFunc("/", homepage)
if err := http.ListenAndServe(":8080", nil); err != nil {
log.Fatalln(err)
}
我的第一个问题是:这叫什么?我称之为将URL映射到函数,但我的谷歌搜索结果并没有对这些搜索词产生任何效果。这叫“路由”吗
其次,我的目标是编写一个小型博客应用程序。我想使用数据库来保存博客文章和其他数据。然而,将URL映射到像我上面所做的那样的函数似乎并不正确,因为在有人发表博客文章之前,无法知道URL应该是什么。我希望URL与博客文章标题匹配。此外,可能有数百篇博客文章,因此编写一堆http.HandleFuncs似乎是不合理的
最后,我的问题是:有什么选项可以解决这个障碍?另一种“博客应用程序”的方法是静态站点生成器您可以在()中找到一个很好的示例,这意味着: 但更一般地说,它被称为一个路由器,你可以在这个优秀的中看到它们:
if port > 0 {
if !viper.GetBool("DisableLiveReload") {
livereload.Initialize()
http.HandleFunc("/livereload.js", livereload.ServeJS)
http.HandleFunc("/livereload", livereload.Handler)
}
go serve(port)
}