猿问

Go 项目中是否需要 main.go?

没有 C 语言背景并且只有 Go 语言的“初学者”经验,我试图弄清楚main.go是实际需要还是只是一个约定。

我正在寻找创建一个简单的 Web API,但有人可以为我澄清这一点吗?


智慧大石
浏览 776回答 2
2回答

弑天下

main.go 因为不需要文件。但是,可执行文件需要main带有的包func main()。您可以随意命名您的文件名。例如myawesomeapp.gopackage mainfunc main() {  fmt.Println("Hello World")}运行go run myawesomeapp.go将按预期工作。

慕侠2389804

对于 Web 服务器(可执行文件),您需要有一个package main带func main(),但不需要将其称为 main.go - 文件名可以是您想要的任何名称。从语言规范:程序执行一个完整的程序是通过将一个称为主包的单个未导入包与其导入的所有包传递链接来创建的。main 包必须具有包名称 main 并声明一个不带参数且不返回值的函数 main。func main() { … }程序执行首先初始化主包,然后调用函数 main。当该函数调用返回时,程序退出。它不会等待其他(非主)goroutine 完成。
随时随地看视频慕课网APP

相关分类

Go
我要回答