go - 如何在golan main函数中调用一个没有输入和输出的函数?

标签 go

我有一个简单的 main.go 文件如下:

package main

import "fmt"

func init() {
    fmt.Println("init!")
}

func main() {
    // init()
    fmt.Println("main")
}

当我运行这个程序时,我看到以下输出!

init
main

我完全糊涂了!我猜这两个带有 func() 签名的函数都作为入口点运行。但是,更有趣的是,我无法调用 main 中的 init 函数!

任何人都可以向我解释这段代码有什么问题吗?

最佳答案

init 是一个 special name for a function that initializes a package .它是自动调用的,规范中提到“不能在程序的任何地方引用初始化函数”。您应该使用任何其他名称。

关于go - 如何在golan main函数中调用一个没有输入和输出的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38387243/

相关文章:

go - 在 Mac OSX 中安装 Delve for GO

android - 如何在android .go中解析git commit id

go - 用 cgo 在 C 中制作一个 go 字符串

go - Golang解压缩可变参数

pointers - Go 中指向结构或数组值的指针如何工作?

regex - 正则表达式在括号之间获取值

http - 使用 http.Client.Get 方法和 Body.Read() 方法处理时导致终止的 EOF 错误

linux - 如何降低在 Linux 上运行的 Go 进程的占用空间?

google-app-engine - 在 App Engine 中使用 rpc/jsonrpc

mongodb - $或$内的$和$ filter条件不起作用