gpt4 book ai didi

go - 未定义 : function (declared in another package)

转载 作者:IT王子 更新时间:2023-10-29 00:49:34 27 4
gpt4 key购买 nike

我的项目组织是这样的:

  • GOPATH
    • 来源
      • cvs/用户/项目
        • main.go
        • 工具
          • utils.go

main.go 看起来像这样:

package main

import (
"fmt"
"cvs/user/project/utils"
)

func main() {
...
utilsDoSomething()
...
}

和 utils.go :

package utils

import (
"fmt"
)

func utilsDoSomething() {
...
}

编译器告诉我:

main.go imported and not used: "cvs/user/project/utils"

main.go undefined: utilsDoSomething

我不知道我做错了什么。任何想法都会有所帮助,提前谢谢您!

最佳答案

您忘记了 main.go 中的包前缀并且您的函数不是 exported ,这意味着它不能从其他包访问。要导出标识符,请在名称开头使用大写字母:

utils.UtilsDoSomething()

一旦有了 utils 前缀,您还可以删除名称中的 Utils:

utils.DoSomething()

如果您想将 utils 包中的所有内容导入主应用程序的命名空间,请执行以下操作:

import . "cvs/user/project/utils"

之后你可以直接使用DoSomething

关于go - 未定义 : function (declared in another package),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36937076/

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