我正在尝试编写一个基本的 go 程序,该程序在不同的文件上调用函数,但属于同一包的一部分。但是,它返回:
undefined: NewEmployee
这是源代码:
main.go
:
package main
func main() {
emp := NewEmployee()
}
employee.go
:
package main
type Employee struct {
name string
age int
}
func NewEmployee() *Employee {
p := &Employee{}
return p
}
func PrintEmployee (p *Employee) {
return "Hello world!"
}
原文由 Juan M 发布,翻译遵循 CC BY-SA 4.0 许可协议
请阅读 “如何编写 Go 代码” 。
在包目录中使用
go build
或go install
,或提供包的导入路径。不要为build
或install
使用文件参数。虽然你可以为
go run
使用文件参数,但你应该构建一个包,通常使用go run .
,尽管你应该几乎总是使用go install
go build
。