在计算机中,复数是由**两个浮点数**表示的,其中一个表示**实部(real)**,一个表示**虚部(imag)**。
Go语言中复数的类型有两种,分别是`complex128`(64 位实数和虚数)和`complex64`(32 位实数和虚数),其中`complex128`为复数的默认类型。
复数的值由三部分组成 RE + IM + i,其中 RE 是实数部分,IM 是虚数部分,RE 和 IM 均为 float 类型,而最后的 i 是虚数单位。
声明复数的语法格式如下:
```
var name complex128 = complex(x, y)
// 简短模式
name := complex128(x, y)
```
其中`name`为复数的变量名,`complex128`为复数的类型,“=”后面的 complex 为Go语言的内置函数用于为复数赋值,x、y 分别表示构成该复数的两个 float64 类型的数值,x 为实部,y 为虚部。
对于一个复数,Go语言可以通过内置函数`real(name)`来获得该复数的实部(即x),通过`imag(name)`获得该复数的虚部(即y)
```
var x complex128 = complex(1, 2) // 1 + 2i
var y complex128 = complex(3, 4) // 3 + 4i
fmt.Println(x * y) // (-5 + 10i)
fmt.Println(real(x * y)) // -5
fmt.Println(imag(x * y)) // 10
```
- 1.Go语言前景
- 2.Go语言环境搭建
- 3.Go语言的基本语法
- 3.1变量
- 3.1.1变量声明
- 3.1.2变量初始化
- 3.1.3多个变量同时赋值
- 3.1.4匿名变量
- 3.1.5变量的作用域
- 3.1.6整型
- 3.1.7浮点类型
- 3.1.8复数
- 3.1.9bool类型
- 3.1.10字符串
- 3.1.11字符类型
- 3.1.12类型转换
- 3.2常量
- 3.1.1const关键字
- 3.2.2模拟枚举
- 4.Go语言的流程控制
- 4.2循环结构
- 4.3键值循环
- 4.4switch语句
- 4.5goto语句
- 4.6break语句
- 4.7continue语句
- 5.Go语言的函数
- 5.1函数声明
- 5.2函数变量
- 5.3函数类型实现接口
- 5.4闭包
- 5.5可变参数
- 5.6defer(延迟执行语句)
- 5.7处理运行时错误
- 5.8宕机(panic)
- 5.9宕机恢复(recover)
- 5.10Test功能测试函数
- 6.Go语言的内置容器
- 6.1数组
- 6.2切片
- 6.3map
- 6.4sync.Map
- 6.5list
- 6.6range
- 7.Go语言的结构体
- 8.Go语言的接口
- 9.Go语言的常用内置包
- 10.Go语言的并发
- 11.Go语言的文件I/O操作
- 12.Go语言的网络编程
- 13.Go语言的反射
- 14.Go语言的数据库编程
- 15.Go语言密码学算法
- 16.Go语言的gin框架
- 17.Go语言的网络爬虫
- 18.Go语言的编译和工具链