Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goSpCxLt 77 of 280 menu
◀ ▶

Литерал комплексного числа в Go

Литерал пишут двумя числами, а второе заканчивают буквой i. Между частями стоит знак плюс, хотя в записи можно обойтись и без него, если мнимая часть отрицательная. Буква i показывает, что следующее число относится к мнимой стороне, а не к обычной сумме двух целых.

Такая запись удобна, когда обе части известны сразу и их не нужно собирать из переменных. Знак минус перед мнимой частью меняет знак только у второго числа, вещественная часть остается как написана слева от знака сложения.

Запишем простой литерал в переменную и посмотрим тип:

z := 1 + 2i fmt.Printf("%T\n", z)

При коротком объявлении без явного типа литерал с буквой i дает complex128: широкий вариант хранения для комплексного значения. Узкий complex64 для литерала задают явно через тип переменной или приведение, иначе компилятор выберет широкий тип.

Явно укажем узкий тип при объявлении:

var w complex64 = 3 + 4i fmt.Printf("%T\n", w)

Дано число:

z := 5 + 6i

Запишите, какой тип получит z при коротком объявлении.

Даны части 2 и 7. Объявите переменную узкого типа литералом 2+7i и выведите ее тип через форматирование.

Дан следующий код:

a := 4 - 3i b := 4 + -3i

Скажите, совпадут ли значения a и b при сравнении.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить