zoukankan      html  css  js  c++  java
  • 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)
    }
    
    
  • 相关阅读:
    判断一个key 是否在map中存在
    time date 基础操作
    handsontable插件HOOK事件
    删除list中指定值的元素
    handsontable的单元格操作方法
    sql求和涉及到null值
    Handsontable Read-only cells
    判断包含字符String.contains
    Wireshark
    ECMAScript 6
  • 原文地址:https://www.cnblogs.com/HachikoT/p/13691301.html
Copyright © 2011-2022 走看看