safe

package
v0.34.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 16, 2025 License: Apache-2.0 Imports: 0 Imported by: 214

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Cast

func Cast[T any](value any) T

Cast takes any value, attempts to cast it to T, and returns the T value if the cast is successful, or else the zero value of T.

func Field

func Field[V any, R any](value *V, fn func(*V) R) R

Field takes a pointer to any value (which may or may not be nil) and a function that traverses to a target type R (a typical use case is to dereference a field), and returns the result of the traversal, or the zero value of the target type.

This is roughly equivalent to:

value != nil ? fn(value) : zero-value

...in languages that support the ternary operator.

func Value added in v0.34.0

func Value[T any](value *T, fn func() *T) *T

Value takes a pointer to any value (which may or may not be nil) and a function that returns a pointer to the same type. If the value is not nil, it is returned, otherwise the result of the function is returned.

This is roughly equivalent to:

value != nil ? value : fn()

...in languages that support the ternary operator.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL