Provides support for lazy initialization by generics in Go1.18
package main
import (
"github.com/hymkor/go-lazy"
)
var s1 = lazy.New(func() string {
println("s1 initialize")
return "Foo"
})
func main() {
println(s1.Value())
println(s1.Value())
}
$ go run example.go
s1 initialize
Foo
Foo
Same as example 1. Light but long
package main
import (
"github.com/hymkor/go-lazy"
)
var s1 = lazy.Of[string]{
New: func() string {
println("s1 initialize")
return "Foo"
},
}
func main() {
println(s1.Value())
println(s1.Value())
}