为了账号安全,请及时绑定邮箱和手机立即绑定

在另一个文件中声明的“未定义”函数?

在另一个文件中声明的“未定义”函数?

Go
紫衣仙女 2021-09-13 10:51:12
我正在尝试编写一个基本的 go 程序,它在不同的文件上调用一个函数,但它是同一个包的一部分。但是,它返回:undefined: NewEmployee这是源代码:main.go:package mainfunc main() {emp := NewEmployee()    }employee.go:package maintype Employee struct {    name string    age int}   func NewEmployee() *Employee {    p := &Employee{}    return p}func PrintEmployee (p *Employee)  {    return "Hello world!"}
查看完整描述

3 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

我刚刚在 GoLand(这是用于 Go 的 Intellij IDEA)中遇到了同样的问题并找到了解决方案。您需要将Run kindfrom更改FilePackageDirectory。如果您进入Run/Edit配置,您可以从下拉列表中选择此项。

例如:对于 package ~/go/src/a_package,使用 a Package pathofa_package和 a Directoryof~/go/src/a_packageRun kindof Packageor Directory


查看完整回答
反对 回复 2021-09-13
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

请阅读“如何编写 Go 代码”

在包目录中使用go buildgo install,或为包提供导入路径。不要对build或使用文件参数install

虽然您可以使用 的文件参数go run,但您应该构建一个包,通常使用go run .,尽管您几乎应该总是使用go install, 或go build


查看完整回答
反对 回复 2021-09-13
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

如果您正在使用go run,请执行go run *.go。它会自动找到当前工作目录中的所有 go 文件,编译然后运行你的 main 函数。


查看完整回答
反对 回复 2021-09-13
  • 3 回答
  • 0 关注
  • 215 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信