Go Integers: Difference between revisions

From NovaOrdis Knowledge Base
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:

Conversion between Types

Integers as characters

i := 'A'
j := i + 1
fmt.Printf("%c %d\n", j, j)
Printf()

Integers to Strings

i := 0
string(48 + i)