Documentation
¶
Index ¶
- type Option
- func FirstOf[T any](options ...Option[T]) Option[T]
- func FlatMap[A any, B any](a Option[A], fn func(A) Option[B]) Option[B]
- func LastOf[T any](options ...Option[T]) Option[T]
- func Map[A any, B any](a Option[A], fn func(A) B) Option[B]
- func None[T any]() Option[T]
- func OfP[T any](v *T) Option[T]
- func OfZ[T comparable](v T) Option[T]
- func Some[T any](v T) Option[T]
- func (t Option[T]) Defined() bool
- func (t Option[T]) Empty() bool
- func (t Option[T]) Get() T
- func (t Option[T]) MarshalJSON() ([]byte, error)
- func (t Option[T]) MarshalYAML() (interface{}, error)
- func (t Option[T]) OrElse(v T) T
- func (t Option[T]) String() string
- func (t *Option[T]) UnmarshalJSON(data []byte) error
- func (t *Option[T]) UnmarshalYAML(unmarshal func(interface{}) error) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Option ¶
type Option[T any] struct { // contains filtered or unexported fields }
Option[T] is a container for zero or one element of a given type.
func OfP ¶ added in v1.0.18
OfP[T] creates a Option[T] that may or may not have a value. If *T is nil the returned Option[T] is empty (equivalent to None[T]), If *T is non-nil returned Option[T] will contain a value (equivalent to Some[T]).
func OfZ ¶ added in v1.0.18
func OfZ[T comparable](v T) Option[T]
OfZ[T] creates a Option[T] that may or may not have a value. If T is the zero value, the returned Option[T] is empty (equivalent to None[T]), If T is not a zero, the returned Option[T] will contain a value (equivalent to Some[T]).
func (Option[T]) Defined ¶
Defined returns true if the contained value is not empty, false otherwise
Inverse of Empty()
func (Option[T]) Empty ¶
Empty returns true if the contained value is empty, false otherwise
Inverse of Defined()
func (Option[T]) Get ¶
func (t Option[T]) Get() T
Get returns the contained value.
NOTE: If called and Empty() is true, the value will be the type's zero value.
func (Option[T]) MarshalJSON ¶
MarshalJSON implements the encoding/json#Marshaler interface
func (Option[T]) MarshalYAML ¶
MarshalYAML implements the gopkg.in/yaml.v2#Marshal interface
func (Option[T]) OrElse ¶
func (t Option[T]) OrElse(v T) T
OrElse returns the contained value if Defined() is true or returns the provided argument.
func (*Option[T]) UnmarshalJSON ¶
UnmarshalJSON implements the encoding/json#Unmarshaler interface
func (*Option[T]) UnmarshalYAML ¶
UnmarshalYAML implements the gopkg.in/yaml.v2#Unmarshal interface