【发布时间】:2014-05-21 23:21:54
【问题描述】:
我们能不能用 go 通用导入模块。为了更清楚,这里是用例:
package main
import (
"fmt"
"net/http"
)
json handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "you requested", r.URL.Path)
}
func main() {
var moduleName String = "/path/to/module"
import moduleName
http.HandleFunc("/", handler)
http.ListenAndServe(":8000", nil)
}
所以在 main 中你可以看到我正在尝试导入 moduleName,但这给了我一个错误。
有解决办法吗?
【问题讨论】:
-
为什么要进行这样的导入?
-
大胆猜测,但如果你想避免导入周期,让实现 HTTP 端点的包从它们的
init()s 注册自己可能会有所帮助,这样你就可以更灵活地选择进口它们。但这在很大程度上取决于您如何布局您的应用程序。这是一个有点相关的答案:stackoverflow.com/questions/20380333/…。如果这是一个循环并且您需要帮助,请发布诸如“我如何避免这个循环?”之类的问题。详细说明什么进口什么以及为什么。
标签: go