【发布时间】:2015-04-16 14:28:32
【问题描述】:
没有 C 语言背景,也没有 Go 语言的“初学者”经验,我试图弄清楚 main.go 是实际需要还是只是一种约定。
我希望创建一个简单的 Web API,但有人可以为我澄清一下吗?
【问题讨论】:
标签: go
没有 C 语言背景,也没有 Go 语言的“初学者”经验,我试图弄清楚 main.go 是实际需要还是只是一种约定。
我希望创建一个简单的 Web API,但有人可以为我澄清一下吗?
【问题讨论】:
标签: go
main.go 不需要作为文件。
但是,可执行文件需要带有func main() 的main 包。
您的文件名可以任意命名。
例如
myawesomeapp.go
package main
func main() {
fmt.Println("Hello World")
}
运行go run myawesomeapp.go 将按预期工作。
【讨论】:
对于 Web 服务器(可执行文件),您需要有一个 package main 和一个 func main(),但它不需要称为 main.go - 文件名可以是任何您想要的名称。来自language spec:
程序执行
通过链接单个未导入的包来创建完整的程序 用它导入的所有包调用主包, 及物的。主包必须有包名 main 并声明 一个不带参数且不返回值的函数 main。
func main() { … }程序执行从初始化主包开始,然后 调用main函数。当该函数调用返回时, 程序退出。它不会等待其他(非主)goroutines 完成。
【讨论】: