我正在尝试编写一个基本的 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条经验 获得超8个赞
我刚刚在 GoLand(这是用于 Go 的 Intellij IDEA)中遇到了同样的问题并找到了解决方案。您需要将Run kindfrom更改File为Package或Directory。如果您进入Run/Edit配置,您可以从下拉列表中选择此项。
例如:对于 package ~/go/src/a_package,使用 a Package pathofa_package和 a Directoryof~/go/src/a_package和Run kindof Packageor Directory。
牛魔王的故事
TA贡献1830条经验 获得超3个赞
请阅读“如何编写 Go 代码”。
在包目录中使用go build或go install,或为包提供导入路径。不要对build或使用文件参数install。
虽然您可以使用 的文件参数go run,但您应该构建一个包,通常使用go run .,尽管您几乎应该总是使用go install, 或go build。
- 3 回答
- 0 关注
- 278 浏览
添加回答
举报
0/150
提交
取消
