2. Golang——基本数据类型之整型、浮点型

(1)数据类型的基本介绍

 (2)整数类型

        用于存放整数值

        <1> 整数的类型表

         int的有符号类型表

        

         int的无符号类型表

        

        int的其它类型表

        

package main
import "fmt"

// 演示golang中证书类型使用
func main() {
	var i int = 1
	fmt.Println("i=",i)

	// 测试一下int8的取值范围
	var j int8 = -128
	fmt.Println("j=",j)

	// 测试一下unit8的范围
	var k uint8 = 255
	fmt.Println("k=",k)

	// int, uint, rune, byte的使用
	var a int = 8900
	fmt.Println("a=",a)
	var b uint = 1
	var c byte = 255
	fmt.Println("b=",b)
	fmt.Println("c=",c)
}

        

(3)整型的使用细节

        <1> Golang个整数类型分:有符号和无符号,int uint的大小和系统有关系

        <2> Golang的整型默认声明为 int类型

        <3> 在程序种查看某个变量的字节大小和数据类型(使用较多)

        

package main
import (
    "fmt"
    "unsafe"
)
func main() {
    // 整型的使用细节
    // 如何查看某个变量的数据类型
	// fmt.Printf()   可以用于做格式化输出
	var n1 = 100 // n1是什么类型
	fmt.Printf("n1 的类型是 %T \n",n1)

	// 如何在程序中查看某个变量的占用字节大小和数据类型(使用较多)
	var n2 int64 = 10
	// unsafe.Sizeof(n2) 是unsafe包的一个函数,可以返回n2变量占用的字节数
	fmt.Printf("n2 的类型 % T n2占用的字节数是 %d",n2,unsafe.Sizeof(n2))
}

注:unsafe.Sizeof(变量),返回值是“顶层”的数据占有的字节数。例如,若v是一个切片,它会返回该切片描述符的大小,而非该切片底层引用的内存的大小。

(4)Golang程序中整型变量在使用时,遵守保小不保大的原则,即:在保证程序正确运行下,尽量使用占用空间小的数据类型。【如:年龄,使用byte即够了】

(5)bit:计算机中最小存储单位。byte:计算机中基本存储单元。1 byte = 8 bit

(6)浮点类型

对于上图的说明:

 <1>  关于浮点数在机器中存放的形式:浮点数 = 符号位 + 指数位 + 尾数位

说明: 浮点数都是有符号的

<2>尾数部分可能丢失,造成精度损失。

说明:float64的精度比float32的要准确

说明:如果我们要保存一个精度高的数,则应该选用float64

package main
import (
	"fmt"
)

func main() {
	var price float32 = 89.12
	fmt.Println("price=",price)
	var num1 float32 = -0.00089
	var num2 float32 = -7809656.09
	fmt.Println("num1=",num1,"num2=",num2)

	// 尾数部分可能丢失,造成精度损失
	// 如果我们要保存一个精度高的数,应该选用float64
	var num3 float32 = -123.0000901
	var num4 float64 = -123.0000901
	fmt.Println("num3=",num3,"num4=",num4)
}

<3>浮点型的存储分为三部分:符号位+指数位+尾数位。在存储过程中,精度会有损失

(7)浮点型使用细节

<1> Golang浮点类型有固定的范围和字段长度,不受具体OS(操作系统)的影响

<2> Golang的浮点型默认声明位float64类型

<3> 浮点型常量的表示形式

 Ⅰ  十进制数形式: 如 5.12    .12

 Ⅱ  科学计数法形式: 如  5.1234e2  = 5.1234 * 10的2次方  5.12E-2 = 5.12/10的2次方

<4>通常情况下,应该使用 float64,因为它比float32  更精确。【开发中, 推荐使用float64】 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Golang中,基本数据类型包括整型浮点型、布尔型、字符串和字符型。引用数据类型包括数组、切片、映射、结构体和接口。 1. 整型Golang提供了多种整型,包括int、int8、int16、int32、int64、uint、uint8、uint16、uint32和uint64等。它们分别表示有符号和无符号的整数,不同类型的整数有不同的取值范围。 2. 浮点型Golang提供了两种浮点型,即float32和float64。它们分别表示单精度和双精度浮点数,用于表示小数。 3. 布尔型:Golang的布尔型只有两个取值,即true和false。用于表示逻辑值。 4. 字符串:Golang中的字符串是一系列字节的集合,使用双引号或反引号括起来。字符串是不可变的,可以通过索引访问其中的字符。 5. 字符型:Golang中的字符类型使用单引号括起来,表示一个Unicode字符。 引用数据类型: 1. 数组:数组是一组具有相同类型的元素的集合,长度固定。可以通过索引访问数组中的元素。 2. 切片:切片是对数组的抽象,它可以动态增长和缩小。切片是一个引用类型,可以通过切片操作符[:]来获取子切片。 3. 映射:映射是一种无序的键值对集合,也称为字典或哈希表。可以通过键来访问对应的值。 4. 结构体:结构体是一种自定义的数据类型,可以包含多个字段,每个字段可以有不同的类型。结构体用于组织和存储相关的数据。 5. 接口:接口是一种抽象类型,定义了一组方法的集合。接口可以被其他类型实现,实现了接口的类型可以被当作该接口类型使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值