小编典典

在另一个文件中声明的“未定义”函数?

all

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

阅读 44

收藏
2022-06-27

共1个答案

小编典典

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

在包目录中使用go buildgo install,或提供包的导入路径。不要为buildor使用文件参数install

虽然您可以将文件参数用于go run,但您应该构建一个包,通常使用go run .,尽管您几乎应该总是使用go install, 或go build.

2022-06-27