types

package
v0.0.24 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CastFloat

func CastFloat[T, V constraints.Float](v V) T

func CastInteger

func CastInteger[T, V constraints.Integer](v V) T

func CastNumber

func CastNumber[T, V constraintsi.Number](v V) T

func CastSigned

func CastSigned[T, V constraints.Signed](v V) T

func CastUnsigned

func CastUnsigned[T, V constraints.Unsigned](v V) T

func Match

func Match[T any](yes bool, a, b T) T

func ResultVal

func ResultVal[T any](v T, err error) T

func Zero

func Zero[T any]() T

func Zero2

func Zero2[T any]() T

Types

type Basic

type Basic struct {
}

type Bool

type Bool int8

func (Bool) IsFalse

func (b Bool) IsFalse() bool

func (Bool) IsNone

func (b Bool) IsNone() bool

func (Bool) IsTrue

func (b Bool) IsTrue() bool

func (Bool) MarshalBinary

func (b Bool) MarshalBinary() ([]byte, error)

MarshalBinary

func (Bool) MarshalJSON

func (b Bool) MarshalJSON() ([]byte, error)

func (Bool) MarshalText

func (b Bool) MarshalText() ([]byte, error)

MarshalText

func (Bool) String

func (b Bool) String() string

String implements Stringer.

func (*Bool) UnmarshalBinary

func (b *Bool) UnmarshalBinary(data []byte) error

UnmarshalBinary implements encoding.BinaryUnmarshaler.

func (*Bool) UnmarshalJSON

func (b *Bool) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

func (*Bool) UnmarshalText

func (b *Bool) UnmarshalText(data []byte) error

UnmarshalText implements encoding.TextUnmarshaler.

type Dict

type Dict[K comparable, V any] struct {
	Key   K
	Value V
}

type Enum

type Enum[T constraints.Unsigned | ~string] struct {
	Value T
}

type ID

type ID[T constraintsi.ID] struct {
	Id T `json:"id"`
}

func (ID[KEY]) Key

func (s ID[KEY]) Key() KEY

type Int

type Int int

func (Int) Key

func (s Int) Key() int

type Option

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

返回option 返回时会有两次复制value,后续使用还有可能更多次,自行选择用不用

func MapOption

func MapOption[T any, R any](opt Option[T], fn func(T) R) Option[R]

func Nil

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

func None

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

func Some

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

func (*Option[T]) Get

func (opt *Option[T]) Get() (T, bool)

func (*Option[T]) IfNone

func (opt *Option[T]) IfNone(action func())

func (*Option[T]) IfSome

func (opt *Option[T]) IfSome(action func(value T))

func (*Option[T]) IsNone

func (opt *Option[T]) IsNone() bool

func (*Option[T]) IsSome

func (opt *Option[T]) IsSome() bool

func (*Option[T]) MarshalJSON

func (opt *Option[T]) MarshalJSON() ([]byte, error)

func (*Option[T]) Next

func (opt *Option[T]) Next() *Option[T]

func (*Option[T]) UnmarshalJSON

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

func (*Option[T]) Unwrap

func (opt *Option[T]) Unwrap() T

func (*Option[T]) UnwrapOr

func (opt *Option[T]) UnwrapOr(def T) T

func (*Option[T]) UnwrapOrElse

func (opt *Option[T]) UnwrapOrElse(fn func() T) T

func (*Option[T]) Val

func (opt *Option[T]) Val() (T, bool)

type OptionP

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

func MapOptionP

func MapOptionP[T any, R any](opt *OptionP[T], fn func(T) R) *OptionP[R]

func NilP

func NilP[T any]() *OptionP[T]

func NoneP

func NoneP[T any]() *OptionP[T]

func SomeP

func SomeP[T any](v T) *OptionP[T]

func (*OptionP[T]) Get

func (opt *OptionP[T]) Get() (T, bool)

func (*OptionP[T]) IfNone

func (opt *OptionP[T]) IfNone(action func())

func (*OptionP[T]) IfSome

func (opt *OptionP[T]) IfSome(action func(value T))

func (*OptionP[T]) IsNone

func (opt *OptionP[T]) IsNone() bool

func (*OptionP[T]) IsSome

func (opt *OptionP[T]) IsSome() bool

func (*OptionP[T]) MarshalJSON

func (opt *OptionP[T]) MarshalJSON() ([]byte, error)

func (*OptionP[T]) Next

func (opt *OptionP[T]) Next() *OptionP[T]

func (*OptionP[T]) UnmarshalJSON

func (opt *OptionP[T]) UnmarshalJSON(data []byte) error

func (*OptionP[T]) Unwrap

func (opt *OptionP[T]) Unwrap() T

func (*OptionP[T]) UnwrapOr

func (opt *OptionP[T]) UnwrapOr(def T) T

func (*OptionP[T]) UnwrapOrElse

func (opt *OptionP[T]) UnwrapOrElse(fn func() T) T

func (*OptionP[T]) Val

func (opt *OptionP[T]) Val() (T, bool)

type Pair

type Pair[T1 any, T2 any] struct {
	First  T1
	Second T2
}

func PairEmpty

func PairEmpty[T1 any, T2 any]() *Pair[T1, T2]

func PairOf

func PairOf[T1 any, T2 any](f T1, s T2) *Pair[T1, T2]

func (*Pair[T1, T2]) Val

func (a *Pair[T1, T2]) Val() (T1, T2)

type Ref

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

func RefOf

func RefOf[T any](v *T) Ref[T]

func (Ref[T]) Get

func (a Ref[T]) Get() T

func (Ref[T]) IsNil

func (a Ref[T]) IsNil() bool

func (Ref[T]) IsNotNil

func (a Ref[T]) IsNotNil() bool

func (Ref[T]) Set

func (a Ref[T]) Set(v T) T

func (Ref[T]) Val

func (a Ref[T]) Val() (v T, ok bool)

type Result

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

func Err

func Err[T any](a error) Result[T]

func Ok

func Ok[T any](a T) Result[T]

func (Result[T]) IfErr

func (a Result[T]) IfErr(action func(err error))

func (Result[T]) IfOk

func (a Result[T]) IfOk(action func(value T))

func (Result[T]) IsErr

func (a Result[T]) IsErr() bool

func (Result[T]) IsErrAnd

func (a Result[T]) IsErrAnd(f func(error) bool) bool

func (Result[T]) IsOk

func (a Result[T]) IsOk() bool

func (Result[T]) IsOkAnd

func (a Result[T]) IsOkAnd(f func(T) bool) bool

func (*Result[T]) MarshalJSON

func (a *Result[T]) MarshalJSON() ([]byte, error)

func (Result[T]) Or

func (a Result[T]) Or(value T) T

func (Result[T]) OrDefault

func (a Result[T]) OrDefault() (v T)

func (Result[T]) OrPanic

func (a Result[T]) OrPanic() T

func (*Result[T]) UnmarshalJSON

func (a *Result[T]) UnmarshalJSON(data []byte) error

func (Result[T]) Val

func (a Result[T]) Val() (value T, err error)

type String

type String string

func (String) Key

func (s String) Key() string

type Tuple

type Tuple[T1 any, T2 any, T3 any] struct {
	First  T1
	Second T2
	Third  T3
}

func TupleOf

func TupleOf[T1 any, T2 any, T3 any](f T1, s T2, t T3) *Tuple[T1, T2, T3]

func (*Tuple[T1, T2, T3]) Val

func (a *Tuple[T1, T2, T3]) Val() (T1, T2, T3)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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