Numbers that start with zero
What’s going on with the counting in this example?
const ( Century = 100 Decade = 010 Year = 001 ) // The world's oldest person, Emma Morano, lived for a century, // two decades and two years. fmt.Println("She was", Century+2*Decade+2*Year, "years old.")
She was 118 years old.
010 is a number in base 8, therefore it means 8, not 10.
Integer literals in Go are specified in octal, decimal or hexadecimal.
The number 16 can be written as
||10||Never starts with
0 is an octal literal in Go.
An integer literal is a sequence of digits representing an integer constant. An optional prefix sets a non-decimal base: 0 for octal, 0x or 0X for hexadecimal. The Go Programming Language Specification: Integer literals
Share this page: