gpt4 book ai didi

http - Golang 创建动态函数(在运行时)

转载 作者:数据小太阳 更新时间:2023-10-29 03:38:02 26 4
gpt4 key购买 nike

我需要一些帮助来开发一个网络服务器。我从 http://golang.org/doc/articles/wiki/ 中获取了初始代码,特别是这个例子:

func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
}

func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}

这段代码非常简单易懂,因为它所做的只是将发送到“localhost”的 get 请求重定向到输出 html 的处理函数。

我遇到的问题是我的服务器将在我的页面中使用 javascript 链接(特别是 JQ 和图像等)。因此,当收到针对这些工件的 GET 请求时,我需要将它们作为字节从驱动器中提取出来,并在处理程序中将它们提供给客户端浏览器(如上所示)。

但是;在运行时之前,我不知道哪些文件位于本地文件夹中,因此我无法预先制作这些处理程序。我想知道 go 是否有办法在运行时动态创建函数。 所以我想的伪代码应该是这样的:

for file in files:
http.HandleFunc(file.location, handler)

如果我可能以错误的方式解决这个问题,并且如果有人在阅读这些本地文件后有关于为这些本地文件创建处理程序的想法,请告诉我。我也不知道文件的数量或数量,但我可以使用 Golang 来读取所有文件。

谢谢!

最佳答案

如@Not_a_Golfer 所述;这可以通过静态文件的 FileServer 来完成。在我的情况下,这非常有效,因为我有很多未知文件。

关于http - Golang 创建动态函数(在运行时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21813648/

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