Go 语言的浮点型(float)
前面两个小节我们我们都是在讲解整型的数据类型,也就是说都是整数,但是在开发中我们也会经常使用小数数据,这节课我们就主要介绍 Go 语言中处理 小数 的数据类型
1. 实数类型
Go 语言提供了两种精度的浮点数 float32 和 float64 ,它们的算术规范由 IEEE754 浮点数国际标准定义,该浮点数规范被所有现代的 CPU 支持。
序号 | 类型 | 长度 |
---|---|---|
1 | float32 | 1.401298464324817e-45~3.4028234663852886e+38 |
2 | float64 | 5e-324~1.7976931348623157e+308 |
2. 复数类型
序号 | 类型 | 长度 |
---|---|---|
1 | complex64 | 实部和虚部都是一个float32 |
2 | complex128 | 实部和虚部都是一个float64 |
3. 使用示例
通过几个示例加深对这几个数据类型的理解。
3.1 实数类型示例
在 Go 语言中 小数值类型 取决于计算机操作系统的 位数 ,我是使用的 64位 的计算机,所以使用:=
时,会得到一个类型为 float64 的变量
package main
import (
"fmt"
)
func main() {
var a float32
a = 1.2
fmt.Println("a = ", a) // 此处的结果
//自动推导类型
b := 1.2
fmt.Printf("b type is %T\n", b)
fmt.Println("b = ", b)
}
输出结果:
实数类型示例输出结果
3.2 复数类型示例
在 Go 语言中 复数值类型 取决于计算机操作系统的 位数 ,我是使用的 64 位的计算机,所以使用:=
时,会得到一个类型为 complex128 的变量
package main
import (
"fmt"
)
func main() {
var a complex64
a = 1.2 + 2.22i
fmt.Println("a = ", a) // 此处的结果
//自动推导类型
b := 1.2 + 3.45i
fmt.Printf("b type is %T\n", b)
fmt.Println("b = ", b)
//通过内建函数取实部和虚部
fmt.Println("real(b) = ", real(b), " , imag(b) = ", imag(b))
}
输出结果:
复数类型示例输出结果
4. 小结
本文主要学习了 Go 语言中的浮点型的使用,注意高精度向低精度转失真的风险。
本文来自互联网用户投稿,不拥有所有权,该文观点仅代表作者本人,不代表本站立场。
访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站,邮箱:80764001@qq.com,予以删除。
访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站,邮箱:80764001@qq.com,予以删除。