【愚公系列】2022年07月 Go教学课程 009-数据类型之浮点型

本文详细介绍了Go语言中的数据类型,特别是浮点型包括float32和float64。float32精度约为7位小数,float64精度可达15位。在涉及数学运算时,推荐使用float64以避免精度损失和计算误差。文章通过示例展示了如何打印不同精度的圆周率值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、数据类型概要

go语言中有四种数据类型:基础类型,复合类型,引用类型,接口类型。

类型名称长度零值说明
bool布尔类型1false其值不为真即为假,不可以用数字代表true或false
byte字节型10uint8别名
rune字符类型40专用于存储unicode编码,等价于uint32
int, uint整型4或80有符号32位或无符号64位
int8整型10-128~ 127,
uint8整型100~ 255
int16整型20-32768 ~ 32767,
uint16整型200 ~ 65535
int32整型40-2147483648到2147483647
uint32整型400到4294967295(42亿)
int64整型80-9223372036854775808到9223372036854775807
uint64整型800到18446744073709551615 ( 1844京)
float32浮点型40.0小数位精确到7位
float64浮点型80.0小数位精确到15位
complex64复数类型8
complex128复数类型1664位实数和虚数
uintptr整型4或8足以存储指针的uint32或uint64整数
strina字符串"”utf-8字符串

二、浮点型

在Go语言中提供了两种精度的浮点型:float32和float64。

  • float32 的浮点数最大值约为 3.4e38, 可以通过 match包的方法来获取: match.MaxFloat32。
  • float64 的浮点数最大值约为 1.8e308, 可以通过 match包的方法来获取: match.MaxFloat64。

float32精确到小数点后7位,float64精确到小数点后15位。由于在Go中涉及到关于数学运算的包中,都要求使用float64这个类型。因为一个float32类型的浮点数可以提供大约6个十进制数的精度,而float64则可以提供约15个十进制数的精度;通常应该优先使用float64类型,因为float32类型的累计计算误差很容易扩散,并且float32能精确表示的正整数并不是很大(注意:因为float32的有效bit位只有23个,其它的bit位用于指数和符号;当整数大于23bit能表达的范围时,float32的表示将出现误差):

案例:

package main

import (
	"fmt"
	"math"
)

func main()  {
	// 打印默认宽度和精度的圆周率, \n 为换行符 
	fmt.Printf("%f\n", math.Pi)

	// 打印默认宽度, 精度(小数点后的位数)为2的圆周率
	fmt.Printf("%.2f\n", math.Pi)
}

输出结果:

3.141593
3.14

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愚公搬代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值