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
相關用法
- GO OnesCount8用法及代碼示例
- GO OnesCount16用法及代碼示例
- GO OnesCount32用法及代碼示例
- GO OnesCount64用法及代碼示例
- GO OnesCount用法及代碼示例
- GO OpenFile用法及代碼示例
- GO PutUvarint用法及代碼示例
- GO Scanner.Scan用法及代碼示例
- GO LeadingZeros32用法及代碼示例
- GO NewFromFiles用法及代碼示例
- GO Regexp.FindString用法及代碼示例
- GO Time.Sub用法及代碼示例
- GO Regexp.FindAllIndex用法及代碼示例
- GO Encode用法及代碼示例
- GO ResponseRecorder用法及代碼示例
- GO Value用法及代碼示例
- GO StreamWriter用法及代碼示例
- GO Fscanln用法及代碼示例
- GO Values.Get用法及代碼示例
- GO NumError用法及代碼示例
注:本文由純淨天空篩選整理自golang.google.cn大神的英文原創作品 Once。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。