Тип данных определяет, какой тип данных может содержать допустимая переменная Golang . В языке Go типы делятся на четыре категории следующим образом:

- Базовые типы: числа, строки и логические значения.
- Типы агрегатов: массивы и структуры
- Типы ссылок: указатель, срез, карта, функция и канал.
- Тип интерфейса
Здесь мы обсудим основные типы данных в языке Go. Они подразделяются на три подкатегории:
Распространенные типы данных в Golang
Числа в Golang
В языке Go числа делятся на три подкатегории:
Целые числа: в языке Go как знаковые, так и беззнаковые целые числа имеют четыре различных размера, как показано в таблице ниже. Знаковые целые числа представлены как int
, а беззнаковые целые числа представлены как uint
.
Возможные арифметические операции: сложение, вычитание, умножение, деление, остаток.
Тип данных
|
Описывать
|
int8 |
8-битное знаковое целое число |
int16 |
16-битное целое число со знаком |
int32 |
32-битное целое число со знаком |
int64 |
64-битное целое число со знаком |
uint8 |
8-битное целое число без знака |
uint16 |
Беззнаковое целое число1 6-бит |
uint32 |
32-битное беззнаковое целое число |
uint64 |
64-битное целое число без знака |
инт |
Оба типа — беззнаковые и знаковые — имеют одинаковый размер: 32 или 64 бита. |
uint |
Оба типа — беззнаковые и знаковые — имеют одинаковый размер: 32 или 64 бита. |
руны |
Это синоним int32, а также представляет кодовые точки Unicode. |
байт |
Это синоним uint8. |
uintptr |
Это беззнаковый целочисленный тип. Его ширина не определена, но он может содержать все биты значения указателя. |
Например:
// Chương trình Go sử dụng số nguyên
package main
import "fmt"
func main() {
// Dùng 8-bit unsigned int
var X uint8 = 225
fmt.Println(X, X-3)
// Dùng 16-bit signed int
var Y int16 = 32767
fmt.Println(Y+2, Y-2)
}
Результат:
225 222
-32767 32765
Пример арифметических операций:
// Các phép tính số học có thể có đối với số nguyên
// Tác giả : Chhanda Saha
package main
import "fmt"
func main() {
var x int16 = 170
var y int16 = 83
//Cộng
fmt.Printf(" addition : %d + %d = %d\n ", x, y, x+y)
//Trừ
fmt.Printf("subtraction : %d - %d = %d\n", x, y, x-y)
//Nhân
fmt.Printf(" multiplication : %d * %d = %d\n", x, y, x*y)
//Chia
fmt.Printf(" division : %d / %d = %d\n", x, y, x/y)
//Mô đun
fmt.Printf(" remainder : %d %% %d = %d\n", x, y, x%y)
}
Результат:
Cộng : 170 + 83 = 253
Trừ : 170 - 83 = 87
Nhân : 170 * 83 = 14110
Chia : 170 / 83 = 2
Số dư : 170 % 83 = 4
- Числа с плавающей точкой: в языке Go числа с плавающей точкой делятся на два типа, как показано в таблице ниже.
- Арифметические операции могут быть: сложение, вычитание, умножение, деление.
- Существует три шрифта:
- десятичная дробь (3,15)
- мощность (12e18 или 3e10)
- смешанный (13.16e12)
Тип данных |
Описывать
|
float32 |
32-битное число с плавающей точкой IEEE 754 |
float64 |
64-битное число с плавающей точкой IEEE 754 |
Например:
//Minh họa chương trình Go dùng số dấu chấm động
package main
import "fmt"
func main() {
a := 20.45
b := 34.89
// Phép trừ hai số dấu chấm động
c := b-a
// Hiện kết quả
fmt.Printf("Result is: %f", c)
// Hiện kiểu biến C
fmt.Printf("\nThe type of c is : %T", c)
}
Результат:
Kết quả: 14.440000
Kiểu của C là : float64
Пример арифметических операций для чисел с плавающей точкой:
// Các phép toán số học có thể có cho số thực
// Tác giả : Chhanda Saha
package main
import "fmt"
func main() {
var x float32 = 5.00
var y float32 = 2.25
//Phép cộng
fmt.Printf("addition : %g + %g = %g\n ", x, y, x+y)
//Phép trừ
fmt.Printf("subtraction : %g - %g = %g\n", x, y, x-y)
//Phép nhân
fmt.Printf("multiplication : %g * %g = %g\n", x, y, x*y)
//Phép chia
fmt.Printf("division : %g / %g = %g\n", x, y, x/y)
}
Результат:
Phép cộng : 5 + 2.25 = 7.25
Phép trừ : 5 - 2.25 = 2.75
Phép nhân : 5 * 2.25 = 11.25
Phép chia : 5 / 2.25 = 2.2222223
- Комплексные числа: Комплексные числа делятся на две части, как показано в таблице ниже.
float32
и float64
также является частью этих комплексных чисел. Функция интегрирования генерирует комплексное число из его мнимой и действительной частей, а функция интегрирования извлекает эти части.
- В комплексных числах есть несколько встроенных функций:
- комплексное число – создать комплексное число из двух чисел с плавающей точкой.
- real() – получает действительную часть входного комплексного числа в виде числа с плавающей точкой.
- imag() – получить мнимую часть входного комплексного числа в виде числа с плавающей точкой
Тип данных |
Описывать
|
комплекс64 |
Комплексные числа содержат float32 в качестве действительной и мнимой частей. |
комплекс128 |
Комплексные числа содержат float64 в качестве действительных и мнимых компонентов. |
Например:
// Chương trình Go dùng số phức
package main
import "fmt"
func main() {
var a complex128 = complex(6, 2)
var b complex64 = complex(9, 2)
fmt.Println(a)
fmt.Println(b)
// Hiện kiểu
fmt.Printf("The type of a is %T and "+
"the type of b is %T", a, b)
}
Результат:
(6+2i)
(9+2i)
Kiểu của a là complex128, kiểu của b là complex64
Примеры встроенных функций:
// Các hàm tích hợp là số phức
// Tác giả : Chhanda Saha
package main
import "fmt"
func main() {
comp1 := complex(10, 11)
// cú pháp init số phức
comp2 := 13 + 33i
fmt.Println("Complex number 1 is :", comp1)
fmt.Println("Complex number 1 is :", comp2)
// lấy phần real
realNum := real(comp1)
fmt.Println("Real part of complex number 1:", realNum)
// lấy phần hình ảnh
imaginary := imag(comp2)
fmt.Println("Imaginary part of complex number 2:", imaginary)
}
Результат:
Số phức 1 là: (10+11i)
Số phức 1 là: (13+33i)
Phần thực của số phức 1: 10
Phần ảo của số phức 2: 33
Булев
Булевский тип данных представляет только один бит информации, который может быть либо истинным, либо ложным. Значения типа boolean не преобразуются явно или неявно в какой-либо другой тип.
Например:
//Minh họa chương trình dùng boolean
package main
import "fmt"
func main() {
// Các biến
str1 := "Quantrimang"
str2:= "quantrimang"
str3:= "Quantrimang"
result1:= str1 == str2
result2:= str1 == str3
// Hiện kết quả
fmt.Println( result1)
fmt.Println( result2)
// Hiện kiểu của result1 và result2
fmt.Printf("Kiểu của result1 là %T và "+
"kiểu của result2 là %T",
result1, result2)
}
Результат:
false
true
Kiểu của result1 là bool và kiểu của result2 là bool
Цепь
Строковый тип данных представляет собой последовательность кодовых точек Unicode. Другими словами, можно сказать, что строка — это неизменяемая последовательность байтов, то есть после создания строки ее нельзя изменить. Строки могут содержать произвольные данные, включая нулевые байты в удобной для восприятия форме. Строки можно объединять с помощью оператора сложения (+).
Например:
// Chương trình Go dùng chuỗi
package main
import "fmt"
func main() {
// Biến str chứa chuỗi
str := "Quantrimang"
// Hiện độ dài của chuỗi
fmt.Printf("Length of the string is:%d",
len(str))
// Hiện chuỗi
fmt.Printf("\nString is: %s", str)
// Hiện kiểu biến str
fmt.Printf("\nType of str is: %T", str)
}
Результат:
Chiều dài của chuỗi là: 13
Chuỗi là: Quantrimang
Kiểu của chuỗi là: chuỗi
Пример конкатенации строк:
// Nối chuỗi
// Tác giả : Chhanda Saha
package main
import "fmt"
func main() {
var str1 string = "STRING_"
var str2 string = "Concatenation"
// Nối chuỗi bằng toán tử +
fmt.Println("New string : ", str1+str2)
}
Результат:
New string : STRING_Concatenation