# Complex Numbers in Golang

There are two complex types in Go. The complex64 and the complex128.

## Initializing Complex Numbers

Initializing complex numbers is really easy. You can use the constructor or the initialization syntax as well.

```c1 := complex(10, 11) // constructor init
c2 := 10 + 11i        // complex number init syntax
```

## Parts of a Complex Number

There are two parts of a complex number. The real and imaginary part. We use functions to get those.

```c := complex(23, 31)
realPart := real(c)    // gets real part
imagPart := imag(c)    // gets imaginary part
```

## Operations on a Complex Number

A complex variable can do any operation like addition, subtraction, multiplication, and division.

Let’s see an example to perform mathematical operations on the complex numbers.

```package main

import (
"fmt"
)

func main() {
c1 := complex(2, 3)
c2 := 4 + 5i // complex initializer syntax a + ib
c3 := c1 + c2 // addition just like other variables
re := real(c3)           // get real part
im := imag(c3)           // get imaginary part
fmt.Println(re, im)      // prints 6 8
}
```

This is how we can use complex number variables in Go.