Go Integers: Difference between revisions
Jump to navigation
Jump to search
Line 4: | Line 4: | ||
=Overview= | =Overview= | ||
Uninitialized variable value: <code>0</code> | |||
Integers are designated by the following [[Go Concepts - Lexical Structure#Pre-Declared_Identifiers|pre-declared type identifiers]]: | Integers are designated by the following [[Go Concepts - Lexical Structure#Pre-Declared_Identifiers|pre-declared type identifiers]]: |
Revision as of 23:22, 18 August 2023
Internal
Overview
Uninitialized variable value: 0
Integers are designated by the following pre-declared type identifiers:
- 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.
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)