123456789101112131415 |
- package ensure
- type EnsureFunc[T any] func() T
- // Ensure ensures that the returned value is not nil.
- // If the provided pointer is nil, the function calls the provided
- // EnsureFunc to obtain a new value.
- // Otherwise, it returns the original value.
- func Ensure[T any](val *T, f EnsureFunc[T]) *T {
- if val == nil {
- v := f()
- return &v
- }
- return val
- }
|