Базовые типы
В этой главе рассмотрены базовые типы Go
Go — это язык со статической типизацией без неявного приведения типов. Это означает, что:
- После объявления переменной её тип нельзя изменить.
- Переменная неподходящего типа перед использованием должна быть явно преобразована к нужному типу.
Такое поведение может показаться излишне строгим, но оно спасает от многих ошибок на стадии написания кода.
В 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 - без комментариев.