Golang 菜鳥教程

Golang 控制語句

Golang 函數(shù) & 方法

Golang 結(jié)構(gòu)體

Golang 切片 & 數(shù)組

Golang 字符串(String)

Golang 指針

Golang 接口

Golang 并發(fā)

Golang 異常(Error)

Golang 其他雜項(xiàng)

Go 語言數(shù)據(jù)類型

數(shù)據(jù)類型指定有效的Go變量可以保存的數(shù)據(jù)類型。在Go語言中,類型分為以下四類:

  1. 基本類型:數(shù)字,字符串和布爾值屬于此類別。

  2. 聚合類型:數(shù)組和結(jié)構(gòu)屬于此類別。

  3. 引用類型:指針,切片,map集合,函數(shù)和Channel屬于此類別。

  4. 接口類型

在這里,我們將討論Go語言的基本數(shù)據(jù)類型。在基本數(shù)據(jù)類型被進(jìn)一步劃分為三個(gè)子類別分別是:

  • Numbers

  • Booleans

  • Strings

數(shù)字類型

在Go語言中,數(shù)字分為三個(gè)子類別:

  • 整數(shù):在Go語言中,有符號和無符號整數(shù)都可以使用四種不同的大小,如下表所示。有符號的int由int表示,而無符號的整數(shù)由uint表示。

    數(shù)據(jù)類型描述
    int88位有符號整數(shù)
    int1616位有符號整數(shù)
    int3232位有符號整數(shù)
    int6464位有符號整數(shù)
    uint88位無符號整數(shù)
    uint1616位無符號整數(shù)
    uint3232位無符號整數(shù)
    uint6464位無符號整數(shù)
    intin和uint都包含相同的大小,無論是32位還是64位。
    uintin和uint都包含相同的大小,無論是32位還是64位。
    rune它是int32的同義詞,也表示Unicode代碼點(diǎn)。
    byte它是int8的同義詞。
    uintptr它是無符號整數(shù)類型。它的寬度未定義,但是可以容納指針值的所有位。
    // 使用整數(shù) 
    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)  
    }

    輸出:

    226 225
    -32767 32765
  • 浮點(diǎn)數(shù):在Go語言,浮點(diǎn)數(shù)被分成2類如示于下表:

    數(shù)據(jù)類型描述
    float3232位IEEE 754浮點(diǎn)數(shù)
    float6464位IEEE 754浮點(diǎn)數(shù)
    // 浮點(diǎn)數(shù)的使用 
    package main  
    import "fmt"
             
    func main() { 
        a := 20.45 
        b := 34.89 
          
        //兩個(gè)浮點(diǎn)數(shù)相減
        c := b-a 
          
        //顯示結(jié)果 
        fmt.Printf("結(jié)果: %f", c) 
          
        //顯示c變量的類型
        fmt.Printf("\nc的類型是 : %T", c)   
    }

    輸出:

    結(jié)果: 14.440000
    c的類型是: float64
  • 復(fù)數(shù):將復(fù)數(shù)分為兩部分,如下表所示。float32和float64也是這些復(fù)數(shù)的一部分。內(nèi)建函數(shù)從它的虛部和實(shí)部創(chuàng)建一個(gè)復(fù)數(shù),內(nèi)建虛部和實(shí)部函數(shù)提取這些部分。

    數(shù)據(jù)類型描述
    complex64包含float32作為實(shí)數(shù)和虛數(shù)分量的復(fù)數(shù)。
    complex128包含float64作為實(shí)數(shù)和虛數(shù)分量的復(fù)數(shù)。
    //復(fù)數(shù)的使用 
    package main 
    import "fmt"
      
    func main() { 
          
       var a complex128 = complex(6, 2) 
       var b complex64 = complex(9, 2) 
       fmt.Println(a) 
       fmt.Println(b) 
         
       //顯示類型 
      fmt.Printf("a的類型是 %T 以及"+ "b的類型是 %T", a, b) 
    }

    輸出:

    (6+2i)
    (9+2i)
    a的類型是 complex128 以及b的類型是 complex64

布爾類型

布爾數(shù)據(jù)類型僅表示true或false。布爾類型的值不會(huì)隱式或顯式轉(zhuǎn)換為任何其他類型。

//布爾值的使用
package main

import "fmt"

func main() {

    //變量
    str1 := "nhooo"
    str2 := "nhooo"
    str3 := "nhooo"
    result1 := str1 == str2
    result2 := str1 == str3

    //打印結(jié)果
    fmt.Println(result1)
    fmt.Println(result2)

    //顯示result1和result2的類型
    fmt.Printf("result1 的類型是 %T , "+"result2的類型是 %T", result1, result2)

}

輸出:

true
true
result1 的類型是 bool , result2的類型是 bool

字符串類型

字符串?dāng)?shù)據(jù)類型表示Unicode代碼點(diǎn)的序列。換句話說,我們可以說一個(gè)字符串是不可變字節(jié)的序列,這意味著一旦創(chuàng)建了一個(gè)字符串,您就無法更改該字符串。字符串可以包含任意數(shù)據(jù),包括以人類可讀形式包含零值的字節(jié)。

//使用字符串
package main 
import "fmt"
  
func main() { 
      
    //用于存儲(chǔ)字符串的str變量
   str := "nhooo"
     
   //顯示字符串的長度
   fmt.Printf("字符串的長度:%d", len(str)) 
     
   //顯示字符串 
   fmt.Printf("\n字符串是: %s", str) 
     
   // 顯示str變量的類型
   fmt.Printf("\nstr的類型是: %T", str) 
}

輸出:

字符串的長度:5
字符串是: nhooo
str的類型是: string
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清