• go基本数据类型


    整型

    类型 说明
    int8,int16,int32,int64 定长有符号整型
    uint8,uint16,uint32,uint64 定长无符号整型
    int 32位或64位有符号整型,在当前平台最高效的整型
    uint 32位或64位无符号整型,在当前平台最高效的整型
    rune int32的同义词,用于更清晰地表示一个unicode码
    byte uint8的同义词,可以用于表示一个字符
    uintptr 足够容纳指针的值的整型,用于底层编程
    • 算术右移:在go中,>>右移操作符表示算术右移,也就是对于有符号整型,右移会填充符号位。
    • 数组下标用int表示:在go中,系统函数len的返回值类型是int。
    • int:一般来说,int在32位系统中是4字节,在64位系统中是8字节,可以通过strconv.IntSize来获取int类型的位数。

    位运算

    • ^:当^作为二元运算符时表示异或操作,当作为一元运算符时表示取反操作。
    • &^:对于z=x &^ y表示,若y中的位为1,那么x中的位被清0,若y中的位为0,那么x中的位不变,相当于z=x & (^y)
    • >>:对于无符号型是逻辑右移,对于有符号型是算术右移(填充符号位)。

    浮点型

    类型 说明
    float32 32位浮点型
    float64 64位浮点型

    字符串

    在go中,字符串类型string不可修改的字节序列,默认表示utf-8编码的字符串。
    在官方示例中,string类型的值作为参数或者返回值都是直接按值传递,实际上string类型中记录了底层字符数组的地址和长度,所以按值传递即可,相当于C++中的const char*

    package main
    
    import (
    	"fmt"
    )
    
    func printString(str string) {
    	fmt.Println(str)
    }
    
    func main() {
    	str := "hello"
    	printString(str)
    }
    

    派生类型

    类型 说明
    Pointer 指针类型
    array 数组类型
    struct 结构化类型
    Channel 通道类型
    type FuncT func(args)(returns) 函数类型
    slice 切片类型
    interface 接口类型
    Map 哈希表类型

    算术类型极值

    在C++中,各种算术类型的极值通过std::numeric_limits<T>获取,在go中则是在math包中:

    package main
    
    import (
    	"fmt"
    	"math"
    )
    
    func main() {
    	fmt.Println(math.MaxInt8)
    	fmt.Println(math.MinInt8)
    }
    
    
  • 相关阅读:
    Windows环境下多版本JDK切换
    科学记数法数字转换/保留数值小数点位数(数字格式化)
    解析Excel数据
    odoo 配置文件参数大全
    odoo10 addon开发流程
    odoo10源码 windows环境安装
    【12】Django 中间件
    【10】Cookie和Session
    django-debug-toolbar
    爬虫系列之mongodb
  • 原文地址:https://www.cnblogs.com/HachikoT/p/13691301.html
Copyright © 2020-2023  润新知