从另一个函数调用 init 函数

为什么我不能init从另一个函数调用函数,init()只是函数正确,为什么我不能只调用该init函数,我应该更改 golang RFC 来实现它吗


package main


import (

    "fmt"

)


func init() {

    fmt.Println("Hello, playground")

}


func main() {

    go init()

    fmt.Println("Hello, playground")

}

错误 :


./prog.go:12:8: undefined: init


梵蒂冈之花
浏览 127回答 2
2回答

慕桂英546537

Go 编程语言规范包初始化init 标识符只能用于声明 init 函数,但标识符本身并未声明。因此,不能从程序中的任何地方引用 init 函数。为了实现您的目标,请调用一个函数。例如,package mainimport (    "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

init 不能被调用,它将在包加载时运行。package mainimport (    "fmt")func init() {    fmt.Println("Hello, playground")}func main(){}结果:你好,游乐场
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go