Skip to main content
 Web开发网 » 操作系统 » linux系统

golang第四天,基础数据类型(数值型和布尔型)

2021年10月17日5730百度已收录

数值型一. 数值引入

例如:我们要存储一个人的年龄,就需要用到数值类型

二. 概述

用于定义证书类型变量的标识符

三. 作用与应用场景

在计算机当中存储数值类型

1. 整数型:

int8 有符号 8 位整型 (-128 到 127) 长度:8bitint16 有符号 16 位整型 (-32768 到 32767)int32 有符号 32 位整型 (-2147483648 到 2147483647)int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)uint8 无符号 8 位整型 (0 到 255) 8位都用于表示数值:uint16 无符号 16 位整型 (0 到 65535)uint32 无符号 32 位整型 (0 到 4294967295)uint64 无符号 64 位整型 (0 到 18446744073709551615)

int和uint:根据底层平台,表示32或64位整数。除非需要使用特定大小的整数,否则通常应该使用int来表示整数。大小:32位系统32位,64位系统64位。 范围:-2147483648到2147483647的32位系统和-9223372036854775808到9223372036854775807的64位系统。

// 数值申请var num1 = 100 // intnum2 := 200. // intvar num3 int32 // int32num4 := 300 // int// 类型转换num3 = int32(num4)fmt.Println(num3) // 300package mainimport "fmt"func main() { var num1 = 100 // int num2 := 200 // int var num3 int32 // int32 num4 := 300 // int // 指定类型 var num5 int64 = 123 fmt.Printf("num1=%T", num1) // int fmt.Printf("num2=%T", num2) // int fmt.Printf("num3=%T", num3) // int32 fmt.Printf("num4=%T", num4) // int fmt.Printf("num5=%T", num5) // int64}四. 注意事项

默认数据类型为intint32,int64由于占用空间大小不一样,被认为是不同的类型,所有不能相互赋值不同类型的转换占用字节 unsafe.Sizeof(intVariables)注意使用时数据可能溢出与损失的问题

2. 浮点型

float32(IEEE-754 32位浮点型数)float64(IEEE-754 64位浮点型数)complex64(32 位实数和虚数)complex128(64 位实数和虚数)

十进制形式package mainimport ( "fmt" "unsafe")func main() { var num1 float32 = 3.1415926 num2 := .1415926 fmt.Printf("num1的类型=%T,占用的字节大小=%d\n",num1,unsafe.Sizeof(num1)) fmt.Printf("num2的类型=%T,占用的字节大小=%d\n",num2,unsafe.Sizeof(num2))}注意:这里用到了main的unsafe包,用于获取数据的字节大小

golang第四天,基础数据类型(数值型和布尔型)  数值类型 第1张

科学计数法展示num1 := 3.1415926e2 // 3.1415926乘以10的2次方num2 := 3.1415926e-2 // 3.1415926除以10的2次方不同精度的浮点类型转换var num1 float32 = 3.14var num2 float64 = 3.14num2 = float64(num1)fmt.Println(num1)fmt.Println(num2)注意事项

默认数据类型为float64float32,float64由于占用空间大小不一样,被认为是不同的类型不同类型的转换单精度,双精度类型转换的精度损失与溢出

golang第四天,基础数据类型(数值型和布尔型)  数值类型 第2张

3. 其他

byte(类似 uint8)rune(类似 int32)uint(32 或 64 位)int(与 uint 一样大小)uintptr(无符号整型,用于存放一个指针)

2. 布尔型布尔型的值值可以是常量true或者false。一个简单的例子 const a bool = false

var flag bool // 默认是falseflag1 = true // flag1 declared but not usedflag2 := (true == false) // flag2 declared but not used// falseif 3 == 4 { fmt.Println("false")} else { fmt.Println("true")}fmt.Println(!true, !false, !!true) // false true true

golang第四天,基础数据类型(数值型和布尔型)  数值类型 第3张

注意:只有true和false其他类型不可以转换成布尔类型最后刚学golang,希望大家监督并且一起努力 有兴趣的小伙伴,欢迎关注我公众号:小何成长

评论列表暂无评论
发表评论
微信