gpt4 book ai didi

go - 将可变数量的 url 映射到 HandleFunc

转载 作者:IT王子 更新时间:2023-10-29 02:24:12 26 4
gpt4 key购买 nike

这是我第一次尝试用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.HandleFunc 似乎不合理。

最后,我的问题是:有哪些选项可以解决这个障碍?

最佳答案

“博客应用”的另一种方法是静态网站生成器
您可以在 gohugo 中找到一个很好的例子( repo GitHub ),意思是 you only have one Handler :

if port > 0 {
if !viper.GetBool("DisableLiveReload") {
livereload.Initialize()
http.HandleFunc("/livereload.js", livereload.ServeJS)
http.HandleFunc("/livereload", livereload.Handler)
}
go serve(port)
}

但更一般地说,它被称为路由器,您可以在这个优秀的 Guide to 3rd Party Routers in Go 2014/11/20 中看到它们。 :

关于go - 将可变数量的 url 映射到 HandleFunc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27180513/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com