在这篇博文中,你将通过实例了解Go语言中的复数类型。
Golang复杂类型的数字
Golang为数字、字符串和其他类型提供了内置的数据类型。数字是int, uint, float, 和复数。复数包含两个部分--实数和虚数,例如,一个复数是12.8i。
在Golang中,复数用两种类型表示:
- complex64类型- 此类型用于表示float32实数和虚数数据。
- complex128类型- 该类型用于表示float64实数和虚数数据。
我们如何在Golang中创建一个复数?
在Golang中,有两种方法来创建复数。
使用内建函数-
Golang提供了内置的复数函数来创建实数和虚数数据。
下面是一个复数函数的语法
func complex(real, imaginary FloatType) ComplexType
这需要实数和虚数的浮动类型 - float 32 或 float 64。Complex类型返回Complex,complex64和complex128类型 这两个参数类型应该总是相同的。如果提供的实数和虚数是float32,返回Complex32类型,如果提供的实数和虚数是float64类型,函数总是返回Complex64类型。
使用速记赋值语法
这是另一种使用速记赋值语法创建复数的方法
complexData := 1 + 4i
Golang复数类型例子
在下面的例子中,你将学到以下内容:
- 使用内置的复数函数创建一个复数
- 用速记语法声明和分配复数变量
- 使用Println函数打印复数
- 使用imag函数打印虚数数据部分
- 使用real函数打印实数数据部分
package main
import (
"fmt"
)
func main() {
complex1 := complex(10, 4)
complex2 := 1 + 4i
fmt.Println("complex Number 1", complex1)
fmt.Println("complex Number 2:", complex2)
fmt.Println("Real Number 1:", real(complex1))
fmt.Println("Imaginary Number 1:", imag(complex1))
fmt.Println("Real Number 1:", real(complex2))
fmt.Println("Imaginary Number 2:", imag(complex2))
}
当上述程序编译时,输出为
complex Number 1 (10+4i)
complex Number 2: (1+4i)
Real Number 1: 10
Imaginary Number 1: 4
Real Number 1: 10
Imaginary Number 2: 4
示例程序--复数的算术运算
这是一个在复数上进行算术运算--加、减、除、乘的例子,当你对复数进行加法运算时,实数部分单独加,虚数部分单独加。下面是一个复数的加、减、乘、除运算的例子,它同样适用于其他运算。
package main
import (
"fmt"
)
func main() {
complex1 := complex(10, 4)
complex2 := 1 + 4i
fmt.Println("Addition ", complex1+complex2)
fmt.Println("Substraction:", complex1-complex2)
fmt.Println("Division ", complex1/complex2)
fmt.Println("Multiplication:", complex1*complex2)
}
输出是
Addition (11+8i)
Substraction: (9+0i)
Division (1.5294117647058822-2.1176470588235294i)
Multiplication: (-6+44i)