阅读 119

Go 语言数据类型

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

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

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

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

  4. 接口类型

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

  • Numbers

  • Booleans

  • Strings

数字类型

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

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

    数据类型描述
    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)  
    }

    输出:

    226 225-32767 32765
  • 浮点数:在Go语言,浮点数被分成2类如示于下表:

    数据类型描述
    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) 
          
        //显示c变量的类型    fmt.Printf("\nc的类型是 : %T", c)   
    }

    输出:

    结果: 14.440000c的类型是: float64
  • 复数:将复数分为两部分,如下表所示。float32和float64也是这些复数的一部分。内建函数从它的虚部和实部创建一个复数,内建虚部和实部函数提取这些部分。

    数据类型描述
    complex64包含float32作为实数和虚数分量的复数。
    complex128包含float64作为实数和虚数分量的复数。

    示例

    //复数的使用 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

布尔类型

布尔数据类型仅表示true或false。布尔类型的值不会隐式或显式转换为任何其他类型。

示例

//布尔值的使用package mainimport "fmt"func main() {

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

    //打印结果    fmt.Println(result1)
    fmt.Println(result2)

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

}

输出:

truetrueresult1 的类型是 bool , result2的类型是 bool

字符串类型

字符串数据类型表示Unicode代码点的序列。换句话说,我们可以说一个字符串是不可变字节的序列,这意味着一旦创建了一个字符串,您就无法更改该字符串。字符串可以包含任意数据,包括以人类可读形式包含零值的字节。

示例

//使用字符串package main import "fmt"  func main() { 
      
    //用于存储字符串的str变量   str := "nhooo"     
   //显示字符串的长度   fmt.Printf("字符串的长度:%d", len(str)) 
     
   //显示字符串    fmt.Printf("\n字符串是: %s", str) 
     
   // 显示str变量的类型   fmt.Printf("\nstr的类型是: %T", str) 
}

输出:

字符串的长度:5字符串是: nhooostr的类型是: string


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐