Differences between revisions 3 and 5 (spanning 2 versions)
Revision 3 as of 2023-01-08 06:00:14
Size: 1406
Comment:
Revision 5 as of 2025-10-10 15:11:03
Size: 646
Comment: Rewrite
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Go Data Types = ## page was renamed from Go/DataTypes
= Go Numerics =

Go offers several '''numerics''' defined by their size and behavior.
Line 9: Line 12:
== String == == Description ==
Line 11: Line 14:
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 ==
The integer types are:
Line 41: Line 19:
 * floating point numbers: `float32` and `float64`
 * complex numbers: `complex64` and `complex128`
Line 44: Line 20:
`byte` is an alias to `uint8`, and `rune` is an alias to `int32`. There are also two floating point types defined by size: `float32` and `float64`.
Line 46: Line 22:
---- Lastly, there are two complex types defined by size: `complex64` and `complex128`.
Line 48: Line 24:


== Pointer ==

----



== Struct ==

----



== Function ==

----


== Container Types ==

 * `array`
 * `slice`
 * `map`

----



== Channel ==

----



== Interface ==
Note that `byte` is an alias to `uint8`, and `rune` is an alias to `int32`.

Go Numerics

Go offers several numerics defined by their size and behavior.


Description

The integer types are:

  • signed integers: int8, int16, int32, int64, and int

  • unsigned integers: uint8, uint16, uint32, uint64, and uint

  • uintptr

There are also two floating point types defined by size: float32 and float64.

Lastly, there are two complex types defined by size: complex64 and complex128.

Note that byte is an alias to uint8, and rune is an alias to int32.


CategoryRicottone

Go/Numerics (last edited 2025-10-10 15:11:03 by DominicRicottone)