当前位置: 首页 > 面试题库 >

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

夏建弼
2023-03-14
问题内容

我正在尝试编写一个基本的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使用非主软件包时会引起混乱)



 类似资料:
  • 我有三份工作。它们是。 必须并行运行和。 这些作业定义文件如下所示。 job1.xml

  • 在阅读了许多文章之后,我被困在这个非常简单的任务上。 我有一个只有两个文件的沙盒项目: src/main/groovy/classes/foo 和src/main/groovy/脚本/script.groovy 现在,如果我运行命令: 我得到以下错误: 如何在我的脚本script.groovy中使用我的类Foo?

  • 假设我有以下功能文件: 我ogin.feature 功能:登录网站 场景:现场登录验证 给定导航到站点登录页 家特色 功能:欢迎页面验证 场景:验证登录后出现的页面 已成功完成给定登录 登录成功后的页面出现时 然后测试完成 在Home.feature文件中,我需要先执行Login.feature,然后调用home.feature.所以当我从运行器测试中执行home时,它会依次执行login,然后是

  • 我正在使用maven项目进行UI自动化,我需要在多个环境和多个浏览器中运行一些测试。我已经创建并添加了pom.xml文件,并声明了其中的属性。但是当我通过终端执行它时,我得到了错误。我用的命令- 错误-[信息]扫描项目...[ERROR][ERROR]处理POM时遇到一些问题:[FATAL]不可解析POM d:\work\cucumber_projects\ui-automation-projec

  • 问题内容: 似乎有两种不同的方法可以在Golang中声明函数,如下所示: 以上作品。但是,以下方法不起作用: 它会抱怨: 那么和之间有什么区别? 我发现它的原因可能也是因为我也编写了许多Javascript。在Go中,似乎很少有人看到像这样的函数。在这两个中,我们可以说哪个比另一个更正确吗? 问题答案: 当你做 您正在为该变量分配匿名函数。您也可以这样写: 创建函数的另一种方法是创建一个命名函数:

  • 问题内容: 我的项目结构是这样的。 在中,我有此代码。 在中时,我有此代码。 当我尝试进行编译时,我得到了。这种构造代码的方式可行吗? 问题答案: 尝试只运行。当给它一个go文件作为参数时,它将不会寻找其他go文件。你也可以