quantity

package
v1.1.21 Latest Latest
Warning

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

Go to latest
Published: Sep 5, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	UnknownKind = &Kind{}
	Count       = &Kind{}
	Duration    = &Kind{}
	Memory      = &Kind{}
)
View Source
var (
	MemoryDisplayName     = "digital"
	MemoryDefaultUnitFlag = "B"

	DurationDisplayName     = "time"
	DurationDefaultUnitFlag = "μs"
)
View Source
var (
	NanoSecond  = &Unit{Kind: Duration, Base: int64(time.Nanosecond), Name: "ns"}
	MicroSecond = &Unit{Kind: Duration, Base: int64(time.Microsecond), Name: "us"}
	MilliSecond = &Unit{Kind: Duration, Base: int64(time.Millisecond), Name: "ms"}
	Second      = &Unit{Kind: Duration, Base: int64(time.Second), Name: "s"}
	Minute      = &Unit{Kind: Duration, Base: int64(time.Minute), Name: "m"}
	Hour        = &Unit{Kind: Duration, Base: int64(time.Hour), Name: "h"}
)
View Source
var (
	Byte     = &Unit{Kind: Memory, Base: 1, Name: "Bytes"}
	KiloByte = &Unit{Kind: Memory, Base: 1 << 10, Name: "KB"}
	MegaByte = &Unit{Kind: Memory, Base: 1 << 20, Name: "MB"}
	GigaByte = &Unit{Kind: Memory, Base: 1 << 30, Name: "GB"}
	TeraByte = &Unit{Kind: Memory, Base: 1 << 40, Name: "TB"}
	PetaByte = &Unit{Kind: Memory, Base: 1 << 50, Name: "PB"}
)
View Source
var (
	CountUnit = &Unit{Kind: Count, Base: 1, Name: ""}
)
View Source
var UnknownUnit = &Unit{Kind: UnknownKind, Name: "unknown"}

Functions

This section is empty.

Types

type Kind

type Kind struct {
	DefaultUnit *Unit
}

Kind 度量类型,数量,时间,内存...

type Quantity

type Quantity struct {
	Value int64
	Unit  *Unit
}

func (*Quantity) DoubleValueIn

func (q *Quantity) DoubleValueIn(target *Unit) (float64, error)

func (*Quantity) IntValueIn

func (q *Quantity) IntValueIn(target *Unit) (int64, error)

func (*Quantity) MarshalJSON

func (q *Quantity) MarshalJSON() ([]byte, error)

func (*Quantity) String

func (q *Quantity) String() string

func (*Quantity) Sub

func (q *Quantity) Sub(sub *Quantity) *Quantity

func (*Quantity) SwitchToDefaultUnit

func (q *Quantity) SwitchToDefaultUnit()

type Unit

type Unit struct {
	Kind *Kind
	Base int64
	Name string
}

func ParseUnit

func ParseUnit(kind *Kind, s string) (*Unit, error)

func (*Unit) ConvertTo

func (u *Unit) ConvertTo(target *Unit, value int64) (int64, error)

ConvertTo convert value for Unit u to Unit target

func (*Unit) ConvertToDefaultUnit

func (u *Unit) ConvertToDefaultUnit(value int64) int64

ConvertToDefaultUnit convert value in Unit u to Unit Kind's default unit

func (*Unit) MarshalJSON

func (u *Unit) MarshalJSON() ([]byte, error)

func (*Unit) Quantity

func (u *Unit) Quantity(v int64) *Quantity

func (*Unit) String

func (u *Unit) String() string

Jump to

Keyboard shortcuts

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