Типы данных в GO
#GOТипы данных определяют тип данных, который может содержать допустимая переменная Go . В языке Go этот тип делится на четыре категории:
- Основной тип: числа, строки и логические значения подпадают под эту категорию.
- Тип агрегата: Массив и структуры подпадают под эту категорию.
- Тип ссылки: указатели, фрагменты, карты, функции и каналы подпадают под эту категорию.
- Тип интерфейса
Здесь мы обсудим основные типы данных на языке Go. Основные типы данных далее подразделяются на три подкатегории:
- чисел
- Булевы
- Струны
чисел
В языке Go числа делятся на три подкатегории:
- Целые числа. В языке Go целые числа со знаком и без знака доступны в четырех разных размерах, как показано в таблице ниже. Подписанное int представляется как int, а целое без знака — как uint.


- Пример:
// Перейти к программе для иллюстрации// использование целых чиселpackage mainimport "fmt"func main() {// Использование 8-битного unsigned intvar X uint8 = 225fmt.Println(X+1, X)// Использование 16-битного со знаком intvar Y int16 = 32767fmt.Println(Y+2, Y-2)}- Выход:
226 225 -32767 32765
- Числа с плавающей точкой: В языке Go числа с плавающей точкой делятся на две категории, как показано в таблице ниже:

- Пример:
// Перейти к программе для иллюстрации// использование плавающей запятой// числаpackage mainimport "fmt"func main() {a := 20.45b := 34.89// Вычитание двух// число с плавающей точкойc := b-a// Показать результатfmt.Printf("Result is: %f", c)// Показать тип переменной cfmt.Printf("\nThe type of c is : %T", c)}- Выход:
Result is: 14.440000 The type of c is : float64
- Комплексные числа: Комплексные числа разделены на две части, показанные в таблице ниже. float32 и float64 также являются частью этих комплексных чисел. Встроенная функция создает сложное число из его мнимой и реальной части, а встроенная мнимая и действительная функция извлекает эти части.

- Пример:
// Перейти к программе для иллюстрации// использование комплексных чиселpackage mainimport "fmt"func main() {var a complex128 = complex(6, 2)var b complex64 = complex(9, 2)fmt.Println(a)fmt.Println(b)// Показать типfmt.Printf("The type of a is %T and "+"the type of b is %T", a, b)}- Выход:
(6+2i) (9+2i) The type of a is complex128 and the type of b is complex64
Булевы
Логический тип данных представляет только один бит информации, истина или ложь. Значения типа boolean не преобразуются неявно или явно в любой другой тип.
Пример:
// Перейти к программе для иллюстрации
// использование логических значений
package main
import "fmt"
func main() {
// переменные
str1 := "GeeksforGeeks"
str2:= "geeksForgeeks"
str3:= "GeeksforGeeks"
result1:= str1 == str2
result2:= str1 == str3
// Показать результат
fmt.Println( result1)
fmt.Println( result2)
// Отображаем тип
// result1 и result2
fmt.Printf("The type of result1 is %T and "+
"the type of result2 is %T",
result1, result2)
}
Выход:
false true The type of result1 is bool and the type of result2 is bool
Струны
Строковый тип данных представляет собой последовательность кодовых точек Unicode. Или, другими словами, мы можем сказать, что строка — это последовательность неизменяемых байтов. Это означает, что после создания строки вы не можете изменить эту строку. Строка может содержать произвольные данные, включая байты с нулевым значением в удобочитаемой форме.
Пример:
// Перейти к программе для иллюстрации
// использование строк
package main
import "fmt"
func main() {
// переменная str, которая хранит строки
str := "GeeksforGeeks"
// Отображаем длину строки
fmt.Printf("Length of the string is:%d",
len(str))
// Показать строку
fmt.Printf("\nString is: %s", str)
// Отображаем тип переменной str
fmt.Printf("\nType of str is: %T", str)
}
Выход:
Length of the string is:13 String is: GeeksforGeeks Type of str is: string