我正在尝试编写一个基本的 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 kind
from更改File
为Package
或Directory
。如果您进入Run/Edit
配置,您可以从下拉列表中选择此项。
例如:对于 package ~/go/src/a_package
,使用 a Package path
ofa_package
和 a Directory
of~/go/src/a_package
和Run kind
of Package
or Directory
。
牛魔王的故事
TA贡献1830条经验 获得超3个赞
请阅读“如何编写 Go 代码”。
在包目录中使用go build
或go install
,或为包提供导入路径。不要对build
或使用文件参数install
。
虽然您可以使用 的文件参数go run
,但您应该构建一个包,通常使用go run .
,尽管您几乎应该总是使用go install
, 或go build
。
- 3 回答
- 0 关注
- 215 浏览
添加回答
举报
0/150
提交
取消