Блог группы Marpa3D. На основании размышлений Russ Cox. Многие программисты часто просто применяют языковые конструкции не задумываясь о том, а как значения Go выглядят в памяти? Это нужно понимать, чтобы сформировать правильное представление о том, какие операции являются дорогостоящими, а какие нет. Эта статья посвящена базовым типам и структурам, массивам и срезам. Основные типы Посмотрим на пример: Переменная i имеет тип int, представленные в памяти в виде одного 32-разрядного слова. (На всех этих рисунках показано 32-разрядное расположение памяти.) Переменная j имеет тип int32 из-за явного преобразования. Даже несмотря на то , что i и j имеют одинаковую структуру памяти, но имеют разные типы: назначение i = j является ошибкой типа и должна быть записана с явным преобразованием: i = int(j). Переменная f имеет тип float, которые текущие реализации представляют как 32-разрядное значение с плавающей запятой. Он занимает тот же объем памяти, что и int32 но другой внутренний макет. Стру
Как значения Go выглядят в памяти? Часть 1
2 мая 20232 мая 2023
14
1 мин