Части комплексного числа в Go
Число можно собрать из двух вещественных и разобрать обратно на две части. Первая дробная величина идет в вещественную сторону, вторая в мнимую. Так удобно передавать координаты или пару измерений, когда литерал не подходит из-за переменных.
Обратный разбор возвращает каждую сторону
отдельной дробной величиной. Вещественную
сторону читают через real, мнимую
через imag. Для широкого типа обе
команды дают float64, для узкого
типа части будут короче, как у обычного
float32.
Сложим два готовых значения знаком плюс и умножим знаком звездочка:
a := 1 + 2i
b := 3 + 4i
sum := a + b
prod := a * b
fmt.Println(sum, prod)
Сложение складывает вещественные и мнимые
части по отдельности. Умножение следует
обычным правилам для пары с буквой i,
компилятор сам развернет произведение в
новую пару чисел.
Соберем значение из переменных и выведем обе стороны:
re := 3.0
im := 4.0
z := complex(re, im)
fmt.Println(real(z), imag(z))
Даны числа:
x := 2 + 1i
y := 1 + 3i
Найдите сумму x и y и выведите
результат.
Даны части 6 и 2. Соберите
из двух частей комплексное значение,
выведите вещественную часть.
Дано число:
z := 5 + 12i
Выведите мнимую часть отдельной строкой
без изменения z.