當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


GO Once用法及代碼示例

GO語言"sync"包中"Once"類型的用法及代碼示例。

一次是一個將執行一個動作的對象。

A 首次使用後不得複製一次。

用法:

type Once struct {
    // contains filtered or unexported fields
}

例子:

package main

import (
	"fmt"
	"sync"
)

func main() {
	var once sync.Once
	onceBody := func() {
		fmt.Println("Only once")
	}
	done := make(chan bool)
	for i := 0; i < 10; i++ {
		go func() {
			once.Do(onceBody)
			done <- true
		}()
	}
	for i := 0; i < 10; i++ {
		<-done
	}
}

輸出:

Only once

相關用法


注:本文由純淨天空篩選整理自golang.google.cn大神的英文原創作品 Once。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。