Давайте представим, у нас есть слайс, из которого мы хотим взять только часть данных, например: // из слайса slice := []int{100,200,300, 400, 500} // мы хотим получить значения 200, 300 и положить…
Author: rgen3
-
5.1. Основы slice в Go
Слайсы (slice, срез) в Go это структура данных, которая позволяет хранить наборы элементов одного типа. В отличии от массивов, у которых размер задается на этапе компиляции, слайсы могут иметь любой р…
-
4.1 Массивы в Go: основы
Массивы в Go является структурой фиксированный длины, которая содержит элементы одного типа. Объявление массива // массив можно объявить через var, например, массив из 5 элементов типа int, по у…
-
Сравнимость и упорядоченность в Go
В материале мы рассмотрим, как операторы сравнения работают в Go. В рамках статьи частично будут рассмотрены generics, но подробности мы раскрывать не будем, так как речь о generics пойдет в следую…
-
4.2 Массивы с точки зрения памяти
В Go длина массивов фиксируется как часть типа на момент компиляции. // псевдокод ,примерно так будет выглядеть массив в памяти var My5IntArray = Array { len: 5 // количество элементов elem: int …
-
Буль‑bool: true, false и основы условных выражений в Go
Тип bool в Go является встроенным примитивным типом и имеет только 2 значения: true, false. // В памяти: ~1 байт (может зависеть от реализации компилятора, выравнивания, архитектуры и пр.) type boo…
-
2.2 Проблемы при работе с вещественными числами
В предыдущем разделе мы рассматривали внутреннее нюансы устройства float и лишь косвенно затронули проблемы, которые могут возникать при работе с подобными числами. Обратите внимание, что статья я…
-
2.3 Накопления ошибок при многократных операциях с плавающей точкой
В предыдущей статье мы рассмотрели «Проблемы при работе с вещественными числами». В данной статье мы рассмотрим особенности работы типов float, когда результат должен быть точным, а мы получаем пример…
-
2.4 Алгоритм суммирования Кэхэна (Kahan Summation Algorithm)
В статье рассмотрим Алгоритм суммирования Кэхэна (Kahan Summation Algorithm) и основные границы его применения.
-
Устройство вещественных числел в Go
В Go существует 2 типа для выражения чисел с плавающей точкой. // Диапазон: от -3.4028235e+38 до +3.4028235e+38 // В памяти: 4 байта. type float32 float32 // Диапазон: от -1.7976931348623157e+308 …