cpp

Типы данных в языке Go

В языке Go доступны следующие элементарные типы данных:

  • bool — логический тип данных. Занимает 1 байт. Может содержать значения true или false. Пример:
var a, b bool = true, false
fmt.Println(a, b)             // true false
fmt.Printf("%T %T\n", a, b)   // bool bool
// Выводим размер в байтах
// import "unsafe"
fmt.Println(unsafe.Sizeof(a)) // 1
  • int8 — целое число со знаком. Диапазон значений от -128 до 127 (занимает 1 байт). Пример:
var min int8 = -128
var max int8 = 127
fmt.Println(min)                // -128
fmt.Println(max)                // 127
// import "math"
fmt.Println(math.MinInt8)       // -128
fmt.Println(math.MaxInt8)       // 127
fmt.Printf("%T\n", min)         // int8
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(min)) // 1
  • uint8 — целое число без знака. Диапазон значений от 0 до 255 (занимает 1 байт). Пример:
var min uint8 = 0
var max uint8 = 255
fmt.Println(min)                // 0
fmt.Println(max)                // 255
fmt.Println(math.MaxUint8)      // 255
fmt.Printf("%T\n", min)         // uint8
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(min)) // 1
  • byte — синоним для типа uint8. Диапазон значений от 0 до 255 (занимает 1 байт). Пример:
var min byte = 0
var max byte = 255
fmt.Println(min)                // 0
fmt.Println(max)                // 255
fmt.Printf("%T\n", min)         // uint8
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(min)) // 1
  • int16 — целое число со знаком. Диапазон значений от –32 768 до 32 767 (занимает 2 байта). Пример:
var min int16 = -32768
var max int16 = 32767
fmt.Println(min)                // -32768
fmt.Println(max)                // 32767
fmt.Println(math.MinInt16)      // -32768
fmt.Println(math.MaxInt16)      // 32767
fmt.Printf("%T\n", min)         // int16
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(min)) // 2
  • uint16 — целое число без знака. Диапазон значений от 0 до 65 535 (занимает 2 байта). Пример:
var min uint16 = 0
var max uint16 = 65535
fmt.Println(min)                // 0
fmt.Println(max)                // 65535
fmt.Println(math.MaxUint16)     // 65535
fmt.Printf("%T\n", min)         // uint16
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(min)) // 2
  • int32 — целое число со знаком. Диапазон значений от –2 147 483 648 до 2 147 483 647 (занимает 4 байта). Пример:
var min int32 = -2147483648
var max int32 = 2147483647
fmt.Println(min)                // -2147483648
fmt.Println(max)                // 2147483647
fmt.Println(math.MinInt32)      // -2147483648
fmt.Println(math.MaxInt32)      // 2147483647
fmt.Printf("%T\n", min)         // int32
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(min)) // 4
  • uint32 — целое число без знака. Диапазон значений от 0 до 4 294 967 295 (занимает 4 байта). Пример:
var min uint32 = 0
var max uint32 = 4294967295
fmt.Println(min)                // 0
fmt.Println(max)                // 4294967295
fmt.Println(math.MaxUint32)     // 4294967295
fmt.Printf("%T\n", min)         // uint32
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(min)) // 4
  • int64 — целое число со знаком. Диапазон значений от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 (занимает 8 байтов). Пример:
var min int64 = -9223372036854775808
var max int64 = 9223372036854775807
fmt.Println(min)                // -9223372036854775808
fmt.Println(max)                // 9223372036854775807
fmt.Println(math.MinInt64)      // -9223372036854775808
fmt.Println(math.MaxInt64)      // 9223372036854775807
fmt.Printf("%T\n", min)         // int64
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(min)) // 8
  • int — целое число со знаком. Размер типа зависит от компилятора. Он может соответствовать типу int32 или int64. В моем случае диапазон значений от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Пример:
var min int = -9223372036854775808
var max int = 9223372036854775807
fmt.Println(min)                // -9223372036854775808
fmt.Println(max)                // 9223372036854775807
fmt.Println(math.MinInt)        // -9223372036854775808
fmt.Println(math.MaxInt)        // 9223372036854775807
fmt.Printf("%T\n", min)         // int
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(min)) // 8
  • uint64 — целое число без знака. Диапазон значений от 0 до 18 446 744 073 709 551 615 (занимает 8 байтов). Пример:
var min uint64 = 0
var max uint64 = 18446744073709551615
fmt.Println(min)                // 0
fmt.Println(max)                // 18446744073709551615
var n uint64 = math.MaxUint64
fmt.Println(n)                  // 18446744073709551615
fmt.Printf("%T\n", min)         // uint64
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(min)) // 8
  • uint — целое число без знака. Размер типа зависит от компилятора. Он может соответствовать типу uint32 или uint64. В моем случае диапазон значений от 0 до 18 446 744 073 709 551 615. Пример:
var min uint = 0
var max uint = 18446744073709551615
fmt.Println(min)                // 0
fmt.Println(max)                // 18446744073709551615
var n uint64 = math.MaxUint
fmt.Println(n)                  // 18446744073709551615
fmt.Printf("%T\n", min)         // uint
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(min)) // 8
  • uintptr — целое число без знака, достаточное для хранения указателя. Размер типа зависит от компилятора. Пример:
var x uintptr = 10
fmt.Printf("%T\n", x)           // uintptr
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(x))   // 8
  • float32 — вещественное число. Занимает 4 байта. Пример:
var x float32 = 10.5432
fmt.Println(x)                  // 10.5432
fmt.Printf("%f\n", x)           // 10.543200
fmt.Printf("%.2f\n", x)         // 10.54
fmt.Println(math.MaxFloat32)    // 3.4028234663852886e+38
fmt.Printf("%T\n", x)           // float32
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(x))   // 4
  • float64 — вещественное число. Занимает 8 байтов. Пример:
var x float64 = 10.5432
fmt.Println(x)                  // 10.5432
fmt.Printf("%f\n", x)           // 10.543200
fmt.Printf("%.2f\n", x)         // 10.54
fmt.Println(math.MaxFloat64)    // 1.7976931348623157e+308
fmt.Printf("%T\n", x)           // float64
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(x))   // 8
  • complex64 — комплексное число. Занимает 8 байтов. Пример:
var x complex64 = 1 + 2i
fmt.Println(x)                  // (1+2i)
fmt.Printf("%T\n", x)           // complex64
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(x))   // 8
  • complex128 — комплексное число. Занимает 16 байтов. Пример:
var x complex128 = 1 + 2i
fmt.Println(x)                  // (1+2i)
fmt.Printf("%T\n", x)           // complex128
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(x))   // 16
  • rune — код символа (в большинстве случае в кодировке UTF-8). Является синонимом типа int32. Занимает 4 байта. Пример:
var c rune = 'w'
fmt.Println(c)                  // 119
fmt.Printf("%c\n", c)           // w
fmt.Printf("%T\n", c)           // int32
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(c))   // 4
  • string — строка (в большинстве случае в кодировке UTF-8). Пример:
var s string = "строка"
fmt.Println(s)                  // строка
fmt.Printf("%T\n", s)           // string
// Выводим размер в байтах
fmt.Println(unsafe.Sizeof(s))   // 16

Учебник Go (Golang)
Учебник Go (Golang) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

cpp