type Lazy[T any] struct {
// contains filtered or unexported fields
}
Lazy for lazy init a value.
The value is computed only after Get method is called, and can only compute successfully once.
If compute value panics, value will be computed again next time.
Get return the lazy value. If value is not present yet, compute it.
If value is already computing by another goroutine, wait for computing to finished.
If panics while computing the value, this method panics