TGViewer
Чайник из Юты Чайник из Юты @irrationalthings · 121 subscribers
Post #105 60
Допустим, у меня есть подобный конструктор ответов (пикрил 1). В каждый метод (пикрил 2) я передаю структуру по значению - то есть, она копируется. А значит, исходную структуру я не мутирую - это чистые методы.

А вот нюанс (как и написано в комментарии) заключается в заголовках. Это хэшмапа, которая не копируется при передаче по значению, ведь внутри она указывает на конкретные участки памяти. И это может привести к неприятным последствиям в виде передачи заголовков от предыдущего запроса в следующем

Выход в данной ситуации - сделать структуру как nil и не давать пользователю к ней прикасаться. В таком случае, в методе WithHeader нам приходится проверять на nil (и если хэшмапа оказывается действительно nil, создаём новую с нашем заголовком). Получилось неприятно, однако сохраняется чистота. К слову, со слайсами данный трюк был бы немного попроще🤔
More from @irrationalthings
  1. Sep 21, 2026я хрюкнул
  2. Sep 21, 2026гемини
  3. Sep 15, 2026Тот факт, что между нейронками и компрессорами больше общего, чем может показаться - забав…
  4. Sep 15, 2026"Low-Resource" Text Classification: A Parameter-Free Classification Method with Compressor…
  5. Sep 15, 2026Конечно, они сравнивали со средненькими классифицирующими моделями. Там есть пространство…
  6. Sep 15, 2026GZIP наносит ответный удар Вот мы хотим классифицировать текст. Классическая задача для ML…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →