Go Integers: Difference between revisions
Jump to navigation
Jump to search
Line 4: | Line 4: | ||
=Overview= | =Overview= | ||
Integers are designated by the following [[Go_Language#Pre-Declared_Types|pre-declared type identifiers]] | Integers are designated by the following [[Go_Language#Pre-Declared_Types|pre-declared type identifiers]]. | ||
In most cases, we simply declare an <code>int</code> and leave it to the compiler to allocate the right type of integer, depending on the underlying architecture. | |||
* Unsigned integers: <tt>uint8</tt> (or <tt>byte</tt>), <tt>uint16</tt>, <tt>uint32</tt> (or <tt>rune</tt>), <tt>uint64</tt>. | * Unsigned integers: <tt>uint8</tt> (or <tt>byte</tt>), <tt>uint16</tt>, <tt>uint32</tt> (or <tt>rune</tt>), <tt>uint64</tt>. |
Revision as of 00:36, 19 August 2023
Internal
Overview
Integers are designated by the following pre-declared type identifiers.
In most cases, we simply declare an int
and leave it to the compiler to allocate the right type of integer, depending on the underlying architecture.
- Unsigned integers: uint8 (or byte), uint16, uint32 (or rune), uint64.
- Signed integers: int8, int16, int32, int64.
- Machine-dependent integers: uint, int and uintptr. int for example can be 4 bytes or 8 bytes long, depending on the underlying architecture.
When a regular integer is needed in the program, int should be the default.
Uninitialized value: 0
byte
byte is unsigned int represented on a byte (uint8).
Indexing operator [] applied to strings return bytes.
Conversion between bytes and strings
A single byte can be converted to string as follows:
var b byte = 65 // decimal ASCII for "A" str := string(b) // str is "A"
The following expression converts a string to a slice of bytes:
bytes := []byte("test")
The following expression converts a slice of bytes to string:
str := string(bytes)
Also see:
Integers as characters
i := 'A' j := i + 1 fmt.Printf("%c %d\n", j, j)
Integers to Strings
i := 0 string(48 + i)