RosettaCodeData/Task/Singleton/Go/singleton-4.go

25 lines
352 B
Go
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
package single
import (
"log"
"sync"
)
var (
color string
once sync.Once
)
func Color() string {
if color == "" {
panic("color not initialized")
}
return color
}
func SetColor(c string) {
log.Println("color initialization")
once.Do(func() { color = c })
log.Println("color initialized to", color)
}