()
| 15 | } |
| 16 | |
| 17 | func (v *Value[T]) Load() T { |
| 18 | v.once.Do(func() { |
| 19 | vv := v.fn() |
| 20 | v.cached.Store(&vv) |
| 21 | }) |
| 22 | return *v.cached.Load() |
| 23 | } |
| 24 | |
| 25 | // New creates a new lazy value with the given load function. |
| 26 | func New[T any](fn func() T) *Value[T] { |