为什么我不能init从另一个函数调用函数,init()只是函数正确,为什么我不能只调用该init函数,我应该更改 golang RFC 来实现它吗package mainimport ( "fmt")func init() { fmt.Println("Hello, playground")}func main() { go init() fmt.Println("Hello, playground")}错误 :./prog.go:12:8: undefined: init
2 回答
慕桂英546537
TA贡献1848条经验 获得超10个赞
Go 编程语言规范
包初始化
init 标识符只能用于声明 init 函数,但标识符本身并未声明。因此,不能从程序中的任何地方引用 init 函数。
为了实现您的目标,请调用一个函数。
例如,
package main
import (
"fmt"
)
func init() {
f("init")
}
func f(s string) {
fmt.Printf("f(%q)\n", s)
}
func main() {
f("main")
}
游乐场:https://play.golang.org/p/isyrCIeYCV4
输出:
f("init")
f("main")
ITMISS
TA贡献1871条经验 获得超8个赞
init 不能被调用,它将在包加载时运行。
package main
import (
"fmt"
)
func init() {
fmt.Println("Hello, playground")
}
func main(){
}
结果:你好,游乐场
- 2 回答
- 0 关注
- 126 浏览
添加回答
举报
0/150
提交
取消