我是靠谱客的博主 精明电脑,这篇文章主要介绍golang once实例,现在分享给大家,希望可以做个参考。

查阅了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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部