TGViewer
Golang Дайджест Golang Дайджест @golang_digest · 13.4K subscribers
Post #331 7.65K
Go Update Обещают в ближайших постах в блоге рассказать больше о новом go fix и как оно работает внутри
🔧 go fix в Go 1.26 — автоматическая модернизация кода

Обещали, рассказали 📆
Пост в официальном блоге Go

Итак, в v1.26 полностью переписали go fix — теперь это полноценный инструмент автоматической модернизации кода, а не заброшенный реликт из ранних версий языка.

Как пользоваться:

$ go fix ./...       # исправить всё
$ go fix -diff ./... # только посмотреть что изменится
$ go tool fix help # список всех анализаторов


Примеры того, что он умеет автоматически исправлять:

- interface{} → any

- for i := 0; i < n; i++ → for range n

- strings.Index + слайсинг → strings.Cut

Или даже целые конструкции, например:

x := f()
if x < 0 {
x = 0
}
if x > 100 {
x = 100
}


Превратится в такое: min(max(x, 0), 100)
(хотя, на мой взгляд, так читается чуть сложнее, но тут дело вкуса)

- квадратичная конкатенация строк в loop → strings.Builder

Ещё одна интересная штука — синергия фиксов: один fix открывает возможность для другого. Поэтому иногда стоит запустить команду дважды.

————

Интересная деталь из статьи: одной из причин взяться за это стали LLM-инструменты. Они генерируют код в стиле "среднего по больнице" обучающего корпуса — то есть с устаревшими паттернами. Порой они даже отрицают существование новых фич, когда их явно просят их использовать 👍

🟢 Что я могу тут сказать, инструмент крутой, пользоваться надо обязательно.

#go1_26 #go_official #tooling
go.dev Using go fix to modernize Go code - The Go Programming Language Go 1.26 includes a new implementation of go fix that can help you use more modern features of Go.
  • 🔥 51
  • ❤ 5
  • 👍 3
More from @golang_digest
  1. Sep 16, 2026Post #363
  2. Sep 15, 2026Дописал самый большой кусок статьи про Go 1.27 — раздел про постквантовые подписи. В 1.27…
  3. Sep 13, 2026Post #361
  4. Sep 13, 2026Post #360
  5. Aug 27, 2026😐 Ультимативный разбор... Go 1.27? Честно, не знаю зачем я это сделал, но я сделал.. Ну п…
  6. Aug 19, 2026Вышел Go 1.27 https://go.dev/doc/go1.27 Подробный интерактивный разбор ещё готовлю, подкас…
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 →