option

package module
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2026 License: MPL-2.0 Imports: 7 Imported by: 2

README

option-go

Go implementation of Rust-like Option type, that implements following interfaces:

Documentation: https://pkg.go.dev/github.com/antoniszymanski/option-go

Installation:

go get github.com/antoniszymanski/option-go

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsOption added in v0.4.0

func IsOption(typ reflect.Type) bool

Types

type Option

type Option[T any] struct {
	// contains filtered or unexported fields
}

func None

func None[T any]() Option[T]

func Some

func Some[T any](value T) Option[T]

func (Option[T]) And added in v0.3.0

func (o Option[T]) And(other Option[T]) Option[T]

func (Option[T]) AndThen added in v0.3.0

func (o Option[T]) AndThen(f func(T) Option[T]) Option[T]

func (Option[T]) AsSlice added in v0.3.0

func (o Option[T]) AsSlice() []T

func (Option[T]) Expect added in v0.1.2

func (o Option[T]) Expect(msg string) T

func (Option[T]) Filter added in v0.3.0

func (o Option[T]) Filter(predicate func(*T) bool) Option[T]

func (Option[T]) GoString

func (o Option[T]) GoString() string

func (Option[T]) Inspect added in v0.3.0

func (o Option[T]) Inspect(f func(*T)) Option[T]

func (Option[T]) IsNone

func (o Option[T]) IsNone() bool

func (Option[T]) IsNoneOr added in v0.3.0

func (o Option[T]) IsNoneOr(f func(T) bool) bool

func (Option[T]) IsSome

func (o Option[T]) IsSome() bool

func (Option[T]) IsSomeAnd added in v0.3.0

func (o Option[T]) IsSomeAnd(f func(T) bool) bool

func (Option[T]) IsZero

func (o Option[T]) IsZero() bool

func (Option[T]) Map added in v0.3.0

func (o Option[T]) Map(f func(T) T) Option[T]

func (Option[T]) MapOr added in v0.3.0

func (o Option[T]) MapOr(fallback T, f func(T) T) T

func (Option[T]) MapOrElse added in v0.3.0

func (o Option[T]) MapOrElse(fallback func() T, f func(T) T) T

func (Option[T]) MarshalJSON added in v0.1.5

func (o Option[T]) MarshalJSON() ([]byte, error)

func (*Option[T]) MarshalJSONTo

func (o *Option[T]) MarshalJSONTo(enc *jsontext.Encoder) error

func (Option[T]) Or added in v0.3.0

func (o Option[T]) Or(other Option[T]) Option[T]

func (Option[T]) OrElse added in v0.3.0

func (o Option[T]) OrElse(f func() Option[T]) Option[T]

func (Option[T]) String

func (o Option[T]) String() string

func (*Option[T]) UnmarshalJSON added in v0.1.5

func (o *Option[T]) UnmarshalJSON(data []byte) error

func (*Option[T]) UnmarshalJSONFrom

func (o *Option[T]) UnmarshalJSONFrom(dec *jsontext.Decoder) error

func (Option[T]) Unwrap

func (o Option[T]) Unwrap() T

func (Option[T]) UnwrapOr

func (o Option[T]) UnwrapOr(fallback T) T

func (Option[T]) UnwrapOrElse

func (o Option[T]) UnwrapOrElse(f func() T) T

func (Option[T]) UnwrapOrZero

func (o Option[T]) UnwrapOrZero() T

func (Option[T]) Xor added in v0.3.0

func (o Option[T]) Xor(other Option[T]) Option[T]

Jump to

Keyboard shortcuts

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