Golang: Basic Types

By Xah Lee. Date: . Last updated: .

Basic Types

Go's basic types are



Signed integer types:

Unsigned Integer types:

Type to represent pointer address. [see Golang: Pointer]

Float type. (uses decimal notation, to represent approximation of Real Numbers)

Complex numbers type:

The int, uint, and uintptr types are usually 32 bits wide on 32-bit systems and 64 bits wide on 64-bit systems.

Find a Value's Type

fmt.Printf("%T\n", val)
Print a value's type.
package main

import "fmt"

func main() {

	var nn = 3
	var ff = 3.123

	// print their types
	fmt.Printf("%T\n", nn) // int
	fmt.Printf("%T\n", ff) // float64

Type conversions

Converts the value v to the type type, where type is the same keyword as the type declaration.
Example: float64(3) convert value 3 to float64 type.
package main

import (

func main() {
	var i int = 42
	var f = float64(i)
	fmt.Println(reflect.TypeOf(f)) // float64


Number to String

To convert number type to string, use fmt.Sprintf()

see Golang: Print

Convert String, Byte Slice, Rune Slice

see Golang: String, Byte Slice, Rune Slice


The Go Programming Language Specification - The Go Programming Language#Types