Что такое string header?

Middle
157 просмотров
AFK Offer AI

String в Go — это структура из двух полей: указатель на массив байтов и длина (int). Занимает 16 байт на 64-bit системе. При присваивании строки копируется только header, не данные. Поэтому передача строки в функцию дешёвая. Slice строки (s[2:5]) тоже не копирует данные — создаёт новый header с другим offset и длиной.

Следующий вопрос

Как документировать архитектуру?