Go has built-in support for complex numbers, which are represented using two types:
-
complex64: This type represents a complex number where both the real and imaginary parts are 32-bit floating-point numbers (float32). -
complex128: This type represents a complex number where both the real and imaginary parts are 64-bit floating-point numbers (float64).
Usage
You can create complex numbers in Go using the complex function or by using the i notation. Here’s how you can work with complex numbers:
package main
import (
"fmt"
)
func main() {
// Initialize complex numbers
c1 := complex(3, 4) // 3 + 4i
c2 := 1 + 2i // 1 + 2i
// Perform operations
sum := c1 + c2 // Addition
product := c1 * c2 // Multiplication
// Access real and imaginary parts
realPart := real(c1)
imaginaryPart := imag(c1)
// Output results
fmt.Printf("c1: %v, c2: %v\n", c1, c2)
fmt.Printf("Sum: %v, Product: %v\n", sum, product)
fmt.Printf("Real part of c1: %v, Imaginary part of c1: %v\n", realPart, imaginaryPart)
}
Key Functions
real(c): Returns the real part of the complex numberc.imag(c): Returns the imaginary part of the complex numberc.
Example Output
When you run the above program, you might see output like:
c1: (3+4i), c2: (1+2i)
Sum: (4+6i), Product: (-5+10i)
Real part of c1: 3, Imaginary part of c1: 4
This demonstrates how to create, manipulate, and access components of complex numbers in Go.
