length: github.com/penguingovernor/length

package length

`import "github.com/penguingovernor/length"`

Package length provides functionality for measuring and displaying lengths.

Constants ¶

```const (
Nanometer  Distance = 1
Micrometer          = 1e3 * Nanometer
Millimeter          = 1e3 * Micrometer
Centimeter          = 10 * Millimeter
Meter               = 1e3 * Millimeter
Kilometer           = 1e3 * Meter
Inch                = 2.54 * Centimeter
Feet                = 304.8 * Millimeter
Yard                = 3 * Feet
Mile                = 5280 * Feet
Lightyear           = 9.461e12 * Kilometer
)```

Common distances.

To count the number of units in a Distance, divide:

```meter := length.Meter
fmt.Print(float64(meter/length.Millimeter)) // prints 1000
```

To convert an integer number of units to a Distance, multiply:

```meters := 10
fmt.Print(length.Distance(meters)*length.Meter) // prints 10m
```

func ToggleUnits¶Uses

`func ToggleUnits()`

ToggleUnits toggles the units (metric <=> imperial) that are printed whenever the String function is called (as is the case in family of printing functions in the fmt package). By default the metric system is used.

func UseImperial¶Uses

`func UseImperial()`

UseImperial toggles the units to use the imperial system. See ToggleUnits for more information.

func UseMetric¶Uses

`func UseMetric()`

UseMetric toggles the units to use the metric system. See ToggleUnits for more information.

type Distance¶Uses

`type Distance float64`

A Distance represents a physical distance as a float64 nanometer count. The representation limits the largest representable duration to approximately 1.900163142869793e283 light years ≈ diameter of the observable universe (≈ 93 billion ly )

func ParseDistance¶Uses

`func ParseDistance(s string) (Distance, error)`

ParseDistance parses a distance string. A distance string is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300m" or "-1.5ly" Valid distance units are "nm", "um" (or "µm"), "mm", "m", "km", "in", "ft", "yd", "mi", "ly".

func (Distance) String¶Uses

`func (d Distance) String() string`

String returns a string representing the distance in the form "10m" or "10yd". The unit that is used is based on the state of the ToggleUnit function. As a special case, distances less than one meter (or yard) use a smaller unit to ensure that the leading digit is non-zero. The zero duration formats as 0m or 0yd.

Package length imports 2 packages (graph). Updated 2019-03-07. Refresh now. Tools for package owners.