English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
数据类型指定有效的Go变量可以保存的数据类型。在Go语言中,类型分为以下四类:
基本类型:数字,字符串和布尔值属于此类别。
聚合类型:数组和结构属于此类别。
引用类型:指针,切片,map集合,函数和Channel属于此类别。
接口类型
在这里,我们将讨论Go语言的基本数据类型。在基本数据类型被进一步划分为三个子类别分别是:
Numbers
Booleans
Strings
在Go语言中,数字分为三个子类别:
整数:在Go语言中,有符号和无符号整数都可以使用四种不同的大小,如下表所示。有符号的int由int表示,而无符号的整数由uint表示。
Tipo de dados | Descrição |
---|---|
int8 | 8位有符号整数 |
int16 | 16位有符号整数 |
int32 | 32位有符号整数 |
int64 | 64位有符号整数 |
uint8 | 8位无符号整数 |
uint16 | 16位无符号整数 |
uint32 | 32位无符号整数 |
uint64 | 64位无符号整数 |
int | in和uint都包含相同的大小,无论是32位还是64位。 |
uint | in和uint都包含相同的大小,无论是32位还是64位。 |
rune | 它是int32的同义词,也表示Unicode代码点。 |
byte | 它是int8的同义词。 |
uintptr | 它是无符号整数类型。它的宽度未定义,但是可以容纳指针值的所有位。 |
// 使用整数 package main import "fmt" func main() { // 使用8位无符号整型 var X uint8 = 225 fmt.Println(X+1, X) // 使用16位有符号整型 var Y int16 = 32767 fmt.Println(Y+2, Y-2) }
Saída:
226 225 -32767 32765
浮点数:在Go语言,浮点数被分成2类如示于下表:
Tipo de dados | Descrição |
---|---|
float32 | 32位IEEE 754浮点数 |
float64 | 64位IEEE 754浮点数 |
// 浮点数的使用 package main import "fmt" func main() { a := 20.45 b := 34.89 //两个浮点数相减 c := b-a //显示结果 fmt.Printf("结果: %f", c) //Exibir o tipo da variável c fmt.Printf("\nO tipo da variável c é: %T", c) }
Saída:
Resultado: 14.440000 O tipo do c é: float64
Número complexo:Dividem o número complexo em duas partes, conforme a tabela a seguir. float32e float64Também faz parte desses números complexos. As funções built-in criam um número complexo a partir de suas partes imaginárias e reais, e as funções built-in de parte imaginária e real extraem essas partes.
Tipo de dados | Descrição |
---|---|
complex64 | Inclui float32Como número complexo, consistindo de componentes reais e imaginários. |
complex128 | Inclui float64Como número complexo, consistindo de componentes reais e imaginários. |
//Uso de complexo package main import "fmt" func main() { var a complex128 = complex(6, 2) var b complex64 = complex(9, 2) fmt.Println(a) fmt.Println(b) //Exibir tipo fmt.Printf("O tipo de a é %T e"+ "O tipo de b é %T", a, b) }
Saída:
(6+2i) (9+2i) o tipo de a é complex128 e o tipo de b é complex64
O tipo de dados booleano representa true ou false. Os valores do tipo booleano não são convertidos implicitamente ou explicitamente para qualquer outro tipo.
//Uso de booleano package main import "fmt" func main() { //variável str1 := "w3codebox" str2 := "w3codebox" str3 := "w3codebox" result1 := str1 == str2 result2 := str1 == str3 //Imprimir resultado fmt.Println(result1) fmt.Println(result2) //Exibir result1e result2do tipo fmt.Printf("result1 do tipo é %T , "+"result2do tipo é %T", result1, result2) }
Saída:
true true result1 do tipo é bool , result2do tipo é bool
O tipo de dados de string representa uma sequência de pontos de código Unicode. Em outras palavras, podemos dizer que uma string é uma sequência imutável de bytes, o que significa que, uma vez criada uma string, você não pode alterar essa string. As strings podem conter qualquer dados, incluindo bytes com zero valor contidos em forma legível para humanos.
//Uso de string package main import "fmt" func main() { //Usado para armazenar a string str str := "w3codebox" //Exibir o comprimento da string fmt.Printf("O comprimento da string:%d", len(str)) //Exibir a string fmt.Printf("\nA string é: %s", str) // Exibir o tipo da variável str fmt.Printf("\nO tipo da variável str é: %T", str) }
Saída:
O comprimento da string:5 A string é: w3codebox O tipo de str é: string