3.2 Go整数类型

1. Go整数类型

Go语言的数值类型包含不同大小的整数型、浮点数和负数,每种数值类型都有大小范围以及正负符号。

官方文档解释数据类型

int类型中哪些支持负数

有符号(负号):int8 int16 int32 int64
无符号(负号):uint8 uint16 uint32 uint64
浮点类型的值有float32和float64(没有 float 类型)

byte和rune特殊类型是别名

byte就是unit8的别名,代表了ASCII码的一个字符。
rune就是int32的别名,代表了UTF-8字符。
int和uint取决于操作系统(32位机器上就是32字节,64位机器上就是64字节)

uint是32字节或者64字节
int和uint是一样的大小
为了避免可移植性问题,除了byte(它是uint8的别名)和rune(它是int32的别名)之外,所有数字类型都是不同的。 在表达式或赋值中混合使用不同的数字类型时,需要转换。例如,int32和int不是相同的类型,即使它们可能在特定架构上具有相同的大小。

整型的使用

  1. golang整数类型分为有符号和无符号
  2. golang默认整型是int型
package main

import "fmt"

func main() {
    var n1 = 100
    fmt.Printf("n1的类型:%T \n", n1)
}

输出结果

n1的类型:int
  1. 查看变量的字节大小,和数据类型
package main

import (
    "fmt"
    "unsafe"
)

func main() {
    var n2 int64 = 100
    //unsafe包底下的Sizeof函数,返回变量占用字节数
    fmt.Printf("n2的类型是:%T,占用的字节数是%d", n2, unsafe.Sizeof(n2))
}

输出结果

n2的类型是:int64,占用的字节数是8

1.1. 数字类型

序号类型和描述
1 uint8 无符号 8 位整型 (0 到 255)
2 uint16 无符号 16 位整型 (0 到 65535)
3 uint32 无符号 32 位整型 (0 到 4294967295)
4 uint64 无符号 64 位整型 (0 到 18446744073709551615)
5 int8 有符号 8 位整型 (-128 到 127)
6 int16 有符号 16 位整型 (-32768 到 32767)
7 int32 有符号 32 位整型 (-2147483648 到 2147483647)
8 int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)
posted @ 2019-07-27 21:12  笑得好美  阅读(231)  评论(0编辑  收藏  举报