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