English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang 基础教程

Golang 控制语句

Golang 函数 & 方法

Golang 结构体

Golang 切片 & 数组

Golang 字符串(String)

Golang 指针

Golang 接口

Golang 并发

Golang 异常(Error)

Golang 其他杂项

Tipo de Dados do Linguagem Go

数据类型指定有效的Go变量可以保存的数据类型。在Go语言中,类型分为以下四类:

  1. 基本类型:数字,字符串和布尔值属于此类别。

  2. 聚合类型:数组和结构属于此类别。

  3. 引用类型:指针,切片,map集合,函数和Channel属于此类别。

  4. 接口类型

在这里,我们将讨论Go语言的基本数据类型。在基本数据类型被进一步划分为三个子类别分别是:

  • Numbers

  • Booleans

  • Strings

数字类型

在Go语言中,数字分为三个子类别:

  • 整数:在Go语言中,有符号和无符号整数都可以使用四种不同的大小,如下表所示。有符号的int由int表示,而无符号的整数由uint表示。

    Tipo de dadosDescrição
    int88位有符号整数
    int1616位有符号整数
    int3232位有符号整数
    int6464位有符号整数
    uint88位无符号整数
    uint1616位无符号整数
    uint3232位无符号整数
    uint6464位无符号整数
    intin和uint都包含相同的大小,无论是32位还是64位。
    uintin和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 dadosDescrição
    float3232位IEEE 754浮点数
    float6464位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 dadosDescrição
    complex64Inclui float32Como número complexo, consistindo de componentes reais e imaginários.
    complex128Inclui 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

Tipo de dados booleano

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

Tipo de dados de string

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