首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【愚公系列】2022年7月 Go教学课程 009-数据类型之浮点型

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

作者头像
愚公搬代码
发布2022-07-12 15:19:26
发布2022-07-12 15:19:26
5390
举报
文章被收录于专栏:历史专栏历史专栏

文章目录


一、数据类型概要

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

类型

名称

长度

零值

说明

bool

布尔类型

1

false

其值不为真即为假,不可以用数字代表true或false

byte

字节型

1

0

uint8别名

rune

字符类型

4

0

专用于存储unicode编码,等价于uint32

int, uint

整型

4或8

0

有符号32位或无符号64位

int8

整型

1

0

-128~ 127,

uint8

整型

1

0

0~ 255

int16

整型

2

0

-32768 ~ 32767,

uint16

整型

2

0

0 ~ 65535

int32

整型

4

0

-2147483648到2147483647

uint32

整型

4

0

0到4294967295(42亿)

int64

整型

8

0

-9223372036854775808到9223372036854775807

uint64

整型

8

0

0到18446744073709551615 ( 1844京)

float32

浮点型

4

0.0

小数位精确到7位

float64

浮点型

8

0.0

小数位精确到15位

complex64

复数类型

8

complex128

复数类型

16

64位实数和虚数

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的表示将出现误差):

案例:

代码语言:javascript
复制
package main

import (
	"fmt"
	"math"
)

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

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

输出结果:

代码语言:javascript
复制
3.141593
3.14
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、数据类型概要
  • 二、浮点型
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档