Skip to content

Latest commit

 

History

History
71 lines (48 loc) · 3.75 KB

basic-types.md

File metadata and controls

71 lines (48 loc) · 3.75 KB

Базовые типы

В этой главе рассмотрены базовые типы Go

Go — это язык со статической типизацией без неявного приведения типов. Это означает, что:

  1. После объявления переменной её тип нельзя изменить.
  2. Переменная неподходящего типа перед использованием должна быть явно преобразована к нужному типу.

Такое поведение может показаться излишне строгим, но оно спасает от многих ошибок на стадии написания кода.

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

  • 0 - для числовых типов.
  • false - для логического типа.
  • "" (пустая строка) для строк.

В Go, если переменная объявлена, то она должна быть использована!


Целые числа

Если вы не знаете какой тип использовать, то используйте int, а вообще существуют:

  • uint8, uint16, uint32, uint64, int8, int16, int32 и int64. 8, 16, 32 и 64 обозначает, сколько бит использует каждый тип. Префикс u обозначает беззнаковость.
  • uint, int, uintptr. Машинно-зависимые типы. int, uint, uintptr занимают минимум 32 байта.
  • byte (то же самое, что uint8) и rune (то же самое, что int32)

Числа с плавающей точкой

Если вы не знаете какой тип использовать, то используйте float64, а вообще существуют:

  • float32 и float64 - вещественные числа с одинарной и двойной точностью
  • complex64 и complex128 - комплексные числа с одинарной и двойной точностью

Строки

Строки в Go состоят из байтов, обычно по одному на каждый символ (символы из других языков, таких как русский, представляются несколькими байтами).

Для создания строкового литерала можно использовать:

  • Двойные кавычки "Hello world". В этому случае строка не может быть перенесена на следующую сроку в коде и поддерживает управляющие последовательности, такие как \n \t
var s string
s = "Hello\n world\n"
  • Апострофы `Hello world`. В таком случае управляющие последовательности не поддерживаются, но строка может быть перенесена на следующую строку кода.
s := `
  Hi, it's a multiline
  string
`

Переменная объявляется при помощи ключевого слова var Краткая запись x := 1 обозначает объявление переменной и присвоение ей начального значения.


Логический тип

Логический тип bool - без комментариев.