go基础之基本类型整形,浮点型,布尔型

Go语言基础之基本数据类型
Go语言中有丰富的数据类型,除了基本的整形,浮点型,布尔型,字符型,还有数组,切片,结构体,函数,map,通道(channel)等
基本数据类型
整形

整形分为两大类,按长度分为:int8,int16,int32,int64对应无符号类型:uint8,uint16,uint32,uint64,其中uint6就是我们熟知的byte,int16对应c语言中的short,int64对应c语言中的long型。
特殊类型
uint 32位操作系统上就是uint32,64位操作系统就是uint64
int 32位操作系统上就是int32,64位操作系统上就是int64
uintptr 无符号类型用于存放指针
注意:在使用int和uint类型时,不能假定他是32位或64位整形,而要考虑int和uint在不同平台上的差异。
注意事项:获取对象长度的内建len()函数返回的长度可以根据不同平台的长度进行变化,实际使用中,切片或map元素的数量都可以用int来表示,在涉及二进制传输,读写文件的结构描述时,为了保持文件的结构不会受到不同编译目标平台字节长度的影响,你使用int或uint
八进制&十六进制
Go语言中无法直接定义二进制数

package main

import "fmt"

func main() {
    
    
    //十进制
    i := 101
    fmt.Printf("%d\n", i) //十进制将整形格式化为十进制整形
    fmt.Printf("%b\n", i) //十进制将整形格式化为二进制整形
    fmt.Printf("%o\n", i) //十进制将整形格式化为八进制整形
    fmt.Printf("%x\n", i) //十进制将整形格式化为十六进制整形

    //八进制
    i1 := 077
    fmt.Printf("%d\n", i1)
    //十六进制
    i2 := 0x123456
    fmt.Printf("%x\n", i2)
    //定义一个int8的整形
    i3 := int8(6)
    fmt.Printf("%d\n", i3)
}

浮点数
Go语言支持两种浮点类型:float32和float64。这两个浮点型的数据格式遵循TEEE75标准,float32的最大范围约为3.4e38,可以使用常量math.MaxFloat32,float64的最大范围约为1.8e308,可以使用常量math.MaxFloat64
打印浮点数时可以使用fmt包,配合动词%f
Go语言中的小数变量,默认为float64
在go语言中,float32和float64是两种变量类型,不可以进行赋值或运算

package main

import "fmt"
func main() {
    
    
    // float32和float46的最大值都是常量
    // math.MaxFloat32 //float32的最大值
    // math.MaxFloat64 //float64的最大值
    f1 := 1.23
    fmt.Printf("%T\n", f1) //小数变量默认值就是float64
    //声明一个float32
    f2 := float32(1.333)
    fmt.Printf("%T\n", f2)
    //f1 = f2 //float32和float64是两个不同的类型,不可以进行运算
}

布尔值
Go语言中以bool类型进行声明的数据类型,布尔类型只有True和folse两个值
注意:
布尔类型变量的默认值为folse
Go语言中不可以将整形强制转换为bool
Bool类型不可以参加数值运算,也无法与其他类型进行转换

猜你喜欢

转载自blog.csdn.net/weixin_44865158/article/details/114268102