Go 语言数据类型
Go Go教程    2019-04-29 09:33:06    18    0    0
admin   Go Go教程

Go 语言数据类型

在 Go 编程语言中,数据类型用于声明函数和变量。

数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。

Go 语言按类别有以下几种数据类型:

序号类型和描述
1布尔型
布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。
2数字类型
整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。
3字符串类型:
字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。
4派生类型:
包括:
  • (a) 指针类型(Pointer)
  • (b) 数组类型
  • (c) 结构化类型(struct)
  • (d) Channel 类型
  • (e) 函数类型
  • (f) 切片类型
  • (g) 接口类型(interface)
  • (h) Map 类型

数字类型

Go 也有基于架构的类型,例如:int、uint 和 uintptr。

序号类型和描述
1uint8
无符号 8 位整型 (0 到 255)
2uint16
无符号 16 位整型 (0 到 65535)
3uint32
无符号 32 位整型 (0 到 4294967295)
4uint64
无符号 64 位整型 (0 到 18446744073709551615)
5int8
有符号 8 位整型 (-128 到 127)
6int16
有符号 16 位整型 (-32768 到 32767)
7int32
有符号 32 位整型 (-2147483648 到 2147483647)
8int64
有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)

浮点型:

序号类型和描述
1float32
IEEE-754 32位浮点型数
2float64
IEEE-754 64位浮点型数
3complex64
32 位实数和虚数
4complex128
64 位实数和虚数

其他数字类型

以下列出了其他更多的数字类型:

序号类型和描述
1byte
类似 uint8
2rune
类似 int32
3uint
32 或 64 位
4int
与 uint 一样大小
5uintptr
无符号整型,用于存放一个指针

 

-----------------------------------

  1. go 1.9版本对于数字类型,无需定义int及float32、float64,系统会自动识别。

    package main
    import "fmt"
    
    func main() {
       var a = 1.5
       var b =2
       fmt.Println(a,b)
    }

    运行结果

    # go run int.go
    1.5 2

    如果加上类型float,会出现如下结果

    # go run int.go
    # command-line-arguments
    ./int.go:4:10: undefined: float

  2.    Darry

      898***118@qq.com

    Boolean

    在 Go 中,布尔值的类型为 bool,值是 true 或 false,默认为 false。

    //示例代码
    var isActive bool  // 全局变量声明
    var enabled, disabled = true, false  // 忽略类型的声明
    func test() {
        var available bool  // 一般声明
        valid := false      // 简短声明
        available = true    // 赋值操作
    }
    Darry

       Darry

      898***118@qq.com

    1年前 (2018-03-29)
  3.    tianqixin

      429***967@qq.com

    字符串去除空格和换行符

    package main  
      
    import (  
        "fmt"  
        "strings"  
    )  
      
    func main() {  
        str := "这里是 www\n.istudy\n.wang"  
        fmt.Println("-------- 原字符串 ----------")  
        fmt.Println(str)  
        // 去除空格  
        str = strings.Replace(str, " ", "", -1)  
        // 去除换行符  
        str = strings.Replace(str, "\n", "", -1)  
        fmt.Println("-------- 去除空格与换行后 ----------")  
        fmt.Println(str)  
    }

    输出结果为:

    -------- 原字符串 ----------
    这里是 www
    .istudy
    .wang
    -------- 去除空格与换行后 ----------
    这里是www.istudy.wang​

 

上一篇: Go 语言变量

下一篇: Go 语言基础语法

18
登录 后评论.
没有帐号? 现在注册.
0 评论
Table of content