golang init 与 sync.Once
时间: 2020-06-29来源:OSCHINA
前景提要
init 函数是在文件包首次被加载的时候执行,且只执行一次。 sync.Once 是在代码运行中需要的时候执行,且只执行一次。 package main import ( "fmt" "sync" ) var once sync.Once func Test() { fmt.Println("Only once") } func main() { done := make(chan bool) for i := 0; i < 5; i++ { go func() { once.Do(Test) done <- true }() } for i := 0; i < 5; i++ { <-done } } /* Only once */

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行