首页 >后端开发 >Golang >如何使用'go run”运行同一包中的多个Go文件?

如何使用'go run”运行同一包中的多个Go文件?

Linda Hamilton
Linda Hamilton原创
2024-12-21 22:15:27219浏览

How Do I Run Multiple Go Files in the Same Package Using `go run`?

将代码分成主包中的多个文件以用于“go run”

为了开发可重用的代码,它通常有利于将主程序的各个部分分成不同的文件,同时保持内聚的包结构。然而,运行“go run main.go”时遇到错误可能表明需要调整执行命令。

使用“go run *.go”执行

要有效运行主包中的多个文件,请将命令从“go run main.go”修改为“go run *.go”。此命令指示编译器处理当前目录中的所有 Go 文件(扩展名为“.go”),有效地组合各个文件中的代码。

示例代码结构

考虑以下目录结构和随附的文件:

ls foo

# output:
main.go
bar.go

文件 bar.go

// file bar.go
package main

import "fmt"

func Bar() {
  fmt.Println("Bar")
}

文件 main.go

// file main.go
package main

func main() {
  Bar()
}

初始错误

尝试使用上述代码结构运行“go run main.go”会导致错误,报告“Bar”未定义。这是因为“go run main.go”只编译并执行“main.go”文件。

用“go run *.go”解决

通过使用“go run *.go”,“main.go”和“bar.go”都被处理,允许“main.go”中的main函数访问“Bar”来自“bar.go”的函数。

适用于 Windows 环境(更新)

截至 2019 年 7 月 26 日,Go 版本 >=1.11 ,命令“去跑”。可以在 Windows 机器上使用,达到与“go run *.go”相同的结果。

以上是如何使用'go run”运行同一包中的多个Go文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn