golang在另一个文件中声明的“未定义”功能?

我正在尝试编写一个基本的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!"

}

回答:

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

不要/src在您的中使用GOPATH。软件包位于中$GOPATH/src

对于buildinstall您需要将文件放在包目录中。

对于go run,您需要提供所有文件作为参数:

go run main.go employee.go

但是,您几乎应该始终使用go install或或go build(最好是使用前者,因为go build使用非主软件包时会引起混乱)

以上是 golang在另一个文件中声明的“未定义”功能? 的全部内容, 来源链接: utcz.com/qa/418247.html

回到顶部