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

Package length provides functionality for measuring and displaying lengths.

❖

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()

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()

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

❖

func UseMetric()

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

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 )

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".

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.