为了账号安全,请及时绑定邮箱和手机立即绑定

从另一个函数调用 init 函数

从另一个函数调用 init 函数

Go
梵蒂冈之花 2023-07-10 09:28:14
为什么我不能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")


查看完整回答
反对 回复 2023-07-10
?
ITMISS

TA贡献1871条经验 获得超8个赞

init 不能被调用,它将在包加载时运行。


package main


import (

    "fmt"

)


func init() {

    fmt.Println("Hello, playground")

}

func main(){

}

结果:你好,游乐场


查看完整回答
反对 回复 2023-07-10
  • 2 回答
  • 0 关注
  • 126 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信