我正在尝试编写一个基本的go程序,该程序在另一个文件上调用函数,但该文件是同一包的一部分。但是,它返回:
undefined: NewEmployee
这是源代码:
main.go:
main.go
package main func main() { emp := NewEmployee() }
employee.go:
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!" }
请阅读“如何编写Go代码”。
不要/src在您的中使用GOPATH。软件包位于中$GOPATH/src。
/src
GOPATH
$GOPATH/src
对于build或install您需要将文件放在包目录中。
build
install
对于go run,您需要提供所有文件作为参数:
go run
go run main.go employee.go
但是,您几乎应该始终使用go install或或go build(最好是使用前者,因为go build使用非主软件包时会引起混乱)
go install
go build