每天一分钟玩转golang:基础类型之布尔和复数(三)

2023-05-16

大家好,我是加摩斯,觉得文章有帮助的小伙伴,记得一键三连哟~
申明:本系列两天更新一篇,纯原创,转载前请与我沟通。

1. 布尔类型

go语言的布尔类型与其他的语言基本上无差别,可以通过var flag bool来定义一个布尔变量。布尔类型变量可以支持的位运算包括:与、或、非。

bool类型在内存中占用一个字节的空间,也不支持其他类型强制转换为bool类型。

isOn := true        // 直接赋值
isOff := false
isEqual := (1 == 2) // 也可以表达式的结果计算后赋值

2. 复数类型

在数学上,复数由两个部分组成,一个是实部,一个是虚部。比如1+i表示实部为1,虚部也为1的复数。

在go语言中,使用两个浮点型来表示一个复数,其中complex64由两个float32来分别表示实部和虚部,complex则是由两个float64来表示实部和虚部的。go也是为数不多内置复数的语言。

复数的声明、实部虚部获取方法:

func complex(r, i FloatType) ComplexType    // 生成一个复数
func real(c ComplexType) FloatType          // 获取复数的实部
func imag(c ComplexType) FloatType          // 获取复数的虚部

// exapmle
b := 1.0 + 2.0i            // b是complex128类型的
Println(real(b))           // 输出+1.000000e+000
Println(imag(b))           // 输出+2.000000e+000

c := complex(1.0, 2.0)     // c是complex128类型的
Println(real(c))           // 输出+1.000000e+000
Println(imag(c))           // 输出+2.000000e+000

由于复数由浮点型来表示,因此复数也继承了浮点型的一些特点,如无法精确表示运算结果,最好不用等号比较大小等。此外,math/cmplx库提供了许多复数操作的函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每天一分钟玩转golang:基础类型之布尔和复数(三) 的相关文章

随机推荐