为了账号安全,请及时绑定邮箱和手机立即绑定

从同一目录中的另一个 go 文件导入外部函数和逻辑

从同一目录中的另一个 go 文件导入外部函数和逻辑

Go
慕桂英3389331 2023-02-14 15:27:25
我是 golang 的新手,到目前为止一直很喜欢它。到目前为止,我一直在内部编写我所有的应用程序逻辑main.go,屏幕上有这么多文本,它开始变得相当麻烦。我终其一生都无法弄清楚如何导入位于另一个 .go 文件中的外部函数。这是我要完成的基本示例main.gopackage mainfunc main() {     SayHello() //THIS IS THE FUNCTION IMPORTED FROM hello.go{hello.gopackage helloimport "fmt"func SayHello() {     fmt.Println("Hello!"){project structure/    -main.go    -hello.go我知道这是一个相当简单的问题,但我尝试的一切都会导致我的控制台出现错误。在这个例子中,我只想将函数SayHello从 hello.go 文件导出到 main.go 文件中,据我所知,导出的任何内容都必须以大写字母开头。整个 go.mod 文件和包声明在顶部,如果每个文件让我感到困惑,我几个小时都无法弄清楚。
查看完整描述

1 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

每个目录只能有一个包。如果您希望其中的代码hello.go位于单独的包中,则需要将其移动到子目录中。


首先,这假设您已经使用go mod init <something>. 出于本示例的目的,我们将从以下内容开始:


go mod init example

这将创建我们的go.mod文件。接下来,我们设置正确的目录结构:


.

├── go.mod

├── hello

│   └── hello.go

└── main.go

hello.go写的是正确的(嗯,一旦你修复了你发布的代码中的语法错误)。我们需要添加一个import到main.go:


package main


import "example/hello"


func main() {

    hello.SayHello() //THIS IS THE FUNCTION IMPORTED FROM hello.go

}

这将构建一个产生预期输出的可执行文件:


$ go build

$ ./example

Hello!


查看完整回答
反对 回复 2023-02-14
  • 1 回答
  • 0 关注
  • 60 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信