Go Data Types
Contents
String
A string is an immutable container of uint8 bytes.
Like other container types, string data can be operated on using:
element access (str[0]) and slice (str[0:1]) syntax
the built-in len() function
addition (+) and in-place addition (+=) operators for concatenation
They are meant to represent text encoded in UTF-8, but not every byte is guaranteed to be valid Unicode. There are only a few instances where strings are implicitly encoded:
in for _, r := range str, the r is a Unicode rune
in rs := []rune(str), rs is a string of Unicode runes
In these cases, all invalid Unicode bytes are converted to U+FFFD (the replacement character).
Bool
Numeric Types
signed integers: int8, int16, int32, int64, and int
unsigned integers: uint8, uint16, uint32, uint64, and uint
uintptr
floating point numbers: float32 and float64
complex numbers: complex64 and complex128
byte is an alias to uint8, and rune is an alias to int32.
Pointer
Struct
Function
Container Types
array
slice
map
Channel