Other numeric types

Go also provides a complex number for advanced mathematical applications, and a few aliases for conveniences:

  • complex64: Complex number with float32 real and imaginary parts
  • complex128: Complex number with float64 real and imaginary parts
  • byte: Alias for uint8
  • rune: Alias for int32

You can define numbers in the decimal, octal, or hexadecimal format. Decimal or base-ten numbers need no prefix. Octal or base-eight numbers should be prefixed with a zero. Hexadecimal or base-sixteen numbers should be prefixed with a zero and an x.

You can read more about the octal numeral system at https://en.wikipedia.org/wiki/Octal, decimal at https://en.wikipedia.org/wiki/Decimal, and hexadecimal at https://en.wikipedia.org/wiki/Hexadecimal.

Note that numbers are stored as integers, and there are no differences between them except for how they are formatted in the source code for the human. Octal and hexadecimal can be useful when working with binary data. Here is a short example of how to define integers:

package main

import "fmt"

func main() {
// Decimal for 15
number0 := 15

// Octal for 15
number1 := 017
// Hexadecimal for 15
number2 := 0x0F

fmt.Println(number0, number1, number2)
}