【发布时间】:2021-03-21 07:17:58
【问题描述】:
我正在尝试从子文件夹中导入 func。
我有一个主包
package main
import (
...
)
func handleRequests() {
http.HandleFunc("/health", health)
...
}
func main() {
handleRequests()
}
然后我有一个名为 health 的文件夹,其中有一个名为 health.go 的文件。
package health
import (
...
)
func health(writer http.ResponseWriter, _ *http.Request) {
...
}
我的import 应该是什么样子?如何调用我的健康功能?
【问题讨论】:
-
如果您使用模块,您的导入路径应该类似于
modname/health,尽管通常将子包放在名为pkg或internal的子文件夹中,如果您这样做,您的路径更改为modname/pkg/health。请注意,您的函数运行状况应以要导出的大写字母开头 -
@PabloFlores "虽然如果你这样做,通常会将子包放在名为
pkg或internal的子文件夹中" -- 请注意,虽然这些可能是常见它们不是官方推荐。internal包/子文件夹有特殊用途,不应用于除此目的之外的任何用途。pkg包/子文件夹在野外使用时,建议反对,AFAIK。 -
@user672009 你可能会从阅读How to Write Go Code 中受益。
标签: go