我的项目组织看起来像这样:
main.go看起来像这样:
package main
import (
"fmt"
"cvs/user/project/utils"
)
func main() {
...
utilsDoSomething()
...
}
Run Code Online (Sandbox Code Playgroud)
和utils.go:
package utils
import (
"fmt"
)
func utilsDoSomething() {
...
}
Run Code Online (Sandbox Code Playgroud)
编译器告诉我:
main.go imported and not used: "cvs/user/project/utils"
main.go undefined: utilsDoSomething
Run Code Online (Sandbox Code Playgroud)
我不知道我做错了什么.任何想法都会有所帮助,谢谢你提前!
您忘记了包前缀,main.go并且未导出您的函数,这意味着无法从其他包访问它.要导出标识符,请在名称的开头使用大写字母:
utils.UtilsDoSomething()
Run Code Online (Sandbox Code Playgroud)
获得utils前缀后,您还可以删除Utils名称:
utils.DoSomething()
Run Code Online (Sandbox Code Playgroud)
如果要将utils包中的所有内容导入主应用程序的命名空间,请执行以下操作:
import . "cvs/user/project/utils"
Run Code Online (Sandbox Code Playgroud)
之后你可以DoSomething直接使用.