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

时间:2016-07-15 03:03:31

标签: go

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

package main

import "fmt"

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

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

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

init
main

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

有人可以解释一下这段代码有什么问题吗?

1 个答案:

答案 0 :(得分:6)

initspecial name for a function that initializes a package。它是自动调用的,并且规范提及" init函数不能从程序中的任何地方引用"。你应该使用任何其他名称。