# Golang : Calculations using complex numbers example

Tags : golangcomplexrealimaginary-unit sine cosine conjugate

Alright, you need to calculate the last known position of UFOs and their flying trajectory in Golang or you just want to perform some calculations using complex numbers.

Declaring complex numbers and performing calculations on the numbers is simple in Golang. Pretty much similar to how Python declare complex numbers.

In Python:

```
>>> a = complex(100,8)
>>> a
(100+8j)
>>> a.real
100.0
>>> a.imag
8.0
```

In Golang and some examples on how to perform calculations with `math/cmplx`

package:

```
package main
import (
"fmt"
"math/cmplx"
)
const a = complex(100, 8)
const b = complex(8, 100)
func main() {
fmt.Println("Complex number a : ", a)
fmt.Println("Complex number b : ", b)
fmt.Println("Get the real part of complex number a : ", real(a))
fmt.Println("Get the imaginary part of complex number b : ", imag(a))
conjugate := cmplx.Conj(a)
fmt.Println("Complex number a's conjugate : ", conjugate)
c := a + b
fmt.Println("a + b complex number : ", c)
fmt.Println("Cosine of complex number b : ", cmplx.Cos(b))
// see https://golang.org/pkg/math/cmplx/
// for more functions such as sine, log, exponential
}
```

Happy coding!

**References:**

https://en.wikipedia.org/wiki/Complex_number

https://golang.org/pkg/builtin/#complex

https://golang.org/pkg/math/cmplx/

https://www.socketloop.com/references/golang-builtin-complex-function-example

Tags : golangcomplexrealimaginary-unit sine cosine conjugate

##### By Adam Ng

IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.

#### Advertisement

#### Tutorials

+8k Golang : Use regular expression to validate domain name

+5.5k Golang : Loop each day of the current month example

+3.3k Golang : How to generate Code 39 barcode?

+4k Golang : Convert int(year) to time.Time type

+4.4k Golang : Edge detection with Sobel method

+3.5k Golang : Write multiple lines or divide string into multiple lines

+23.1k Golang : How to get struct field and value by name

+7.6k Golang : Get query string value on a POST request

+8.8k Golang : Get sub string example

+3.2k Golang : ffmpeg with os/exec.Command() returns non-zero status

+1.4k Golang : Oanda bot with Telegram and RSI example

+9.4k Golang : Get file permission