Какие существуют основные типы в Go или Golang?

Первоначально было опубликовано здесь!

Всего в Go или Golang существует 19 базовых типов. Они перечислены ниже:

  • bool
  • string
  • int
  • int8
  • int16
  • int32
  • int64
  • uint
  • uint8
  • uint16
  • uint32
  • uint64
  • uintptr
  • byte
  • rune
  • float32
  • float64
  • complex64
  • complex128

Тип bool

Тип bool используется для хранения истинных/ложных значений, таких как true или false.

var isAdmin bool // isAdmin variable has a type of `bool`
isAdmin = true
Вход в полноэкранный режим Выход из полноэкранного режима

Тип string

Тип string используется для хранения последовательности символов. Символы заключаются в двойные кавычки ("").

var name string // name variable has a type of `string`
name = "John Doe"
Вход в полноэкранный режим Выход из полноэкранного режима

Тип int, int8, int16, int32 и int64

Типы int используются для хранения числовых значений, включая отрицательные и неотрицательные числа.

Цифры после слова int означают размер. Например, тип int8 может хранить значения размером 8 бит.

Каждый из типов int может иметь отрицательные и неотрицательные числа до определенного диапазона. Они указаны ниже:

  • Тип int8 может иметь числа в диапазоне от -128 до 127.
  • Тип int16 может иметь числа в диапазоне от -32768 до 32767.
  • Тип int32 может иметь числа в диапазоне от -2147483648 до 2147483647.
  • Тип int64 может иметь числа в диапазоне от -2^63 (-2 в степени 63) до 2^63 - 1 (2 в степени 63 минус 1).
  • Тип int является платформозависимым типом, что означает, что на 32 битной системе он будет таким же, как тип int32, а на 64 битной системе — как тип int64.
var num int8 // num variable has a type of `int8`
num = -128
Вход в полноэкранный режим Выход из полноэкранного режима

Тип uint, uint8, uint16, uint32 и uint64

Типы uint используются для хранения числовых значений неотрицательных чисел. Его также называют беззнаковым целочисленным типом.

Цифры после слова int означают размер. Например, тип uint8 может хранить значения размером 8 бит.

Каждый из типов uint может иметь неотрицательные числа до определенного диапазона. Они указаны ниже:

  • Тип uint8 может иметь числа в диапазоне от 0 до 255.
  • Тип uint16 может содержать числа в диапазоне от 0 до 65535.
  • Тип uint32 может иметь числа в диапазоне от 0 до 4294967295.
  • Тип uint64 может иметь числа в диапазоне от 0 до 2^64 - 1 (2 в степени 64 минус 1).
  • Тип uint является платформозависимым типом, что означает, что на 32 битной системе он будет таким же, как тип uint32, а на 64 битной системе он будет таким же, как тип uint64.
var num uint8 // num variable has a type of `uint8`
num = 255
Вход в полноэкранный режим Выход из полноэкранного режима

Тип uintptr

Возможно, вам никогда не придется использовать тип uintptr, если только вы не разрабатываете код, связанный с библиотеками времени выполнения Go. Он используется для обхода системы типов Go и может быть использован в качестве ссылки на участки памяти C или других кодов языков программирования системного уровня.

Тип byte

Тип byte является псевдонимом для типа uint8.

Тип rune

Тип rune является псевдонимом для типа int32.

Одна из особенностей типа rune заключается в том, что если вы присвоите переменной символ Unicode, например 😃 (улыбающееся лицо с открытым ртом), то он будет автоматически преобразован в его шестнадцатеричную кодовую точку Unicode. Шестнадцатеричное число — это, по сути, целое число.

var favEmoji rune
favEmoji = '😃'
fmt.Println(favEmoji) // 128515
Вход в полноэкранный режим Выход из полноэкранного режима

Тип float32 и float64

Тип float32 и float64 используется для хранения числовых значений, имеющих десятичную или дробную часть.

  • Тип float32 имеет размер 32 бит и одинарную точность.
  • Тип float64 имеет размер 64 бит и двойную точность.
floatNum := 78.65 // floatNum variable has the type of float64
Вход в полноэкранный режим Выход из полноэкранного режима

Тип complex64 и complex128

Go может легко работать с комплексными числами также с помощью типов complex64 и complex128.

  • Тип complex64 имеет действительную часть, состоящую из типа float32, и мнимую часть, состоящую из типа float32.
  • Тип complex128 имеет вещественную часть, состоящую из типа float64, и мнимую часть, состоящую из типа float64.

Это можно сделать следующим образом,

complexNum := 5 + 8i // complexNum variable type is complex128
Войти в полноэкранный режим Выйти из полноэкранного режима

Или вы можете использовать встроенную функцию complex() для создания действительной и мнимой частей комплексного числа следующим образом,

complexNum := complex(5, 8) // complexNum variable type is complex128
fmt.println(complexNum) // 5 + 8i
Войти в полноэкранный режим Выход из полноэкранного режима

Это доступные базовые типы в Golang.

Вот и все 😃!

Не стесняйтесь поделиться, если вы нашли это полезным 😃.


Оцените статью
devanswers.ru
Добавить комментарий