概述
查阅了once的资料,主要控制某段代码只执行一次,结合项目看了下,用在循环里面只需要执行一次的代码,其他场景还没有想到,看代码:
package test
import (
"fmt"
"sync"
// "time"
)
var once sync.Once
func Oncetest() {
var wg =&sync.WaitGroup{}//waitgroup是struct类型,使用时只需将其实例化
for i, v := range make([]string, 10) {
once.Do(onces)
fmt.Println("count:", v, "---", i)
}
for i := 0; i < 10; i++ {
wg.Add(1)
go func() {
once.Do(onced)
fmt.Println(i)
wg.Done()
}()
}
wg.Wait()
}
func onces() {
fmt.Println("print onces")
}
func onced() {
fmt.Println("onced")
}
func Temptest(){
var t *int
p:=1
t=&pshili
fmt.Println(t)
fmt.Println(&p)
}
最后
以上就是精明电脑为你收集整理的golang once实例的全部内容,希望文章能够帮你解决golang once实例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复