TGViewer
Thank Go! Thank Go! @thank_go · 3.32K subscribers
Post #278 3.21K
strings.CutLast

Из небольших изменений в Go 1.27 я больше всего рад strings.CutLast. Эта функция делит строку по последнему вхождению разделителя.

Конечно, реализовать ее несложно и самому:


// CutLast делит s на части до и после последнего вхождения sep.
func CutLast(s, sep string) (before, after string, found bool) {
if i := strings.LastIndex(s, sep); i >= 0 {
return s[:i], s[i+len(sep):], true
}
return s, "", false
}


Но приятно, что теперь делать этого не придется:


s := "go|for|it"
_, last, ok := strings.CutLast(s, "|")
fmt.Println(last, ok)
// it true


Интересно, что Cut добавили еще в 1.20, а CutLast почему-то пробыла в немилости аж 7 релизов :)
  • 🎉 19
  • ❤ 7
More from @thank_go
  1. Sep 26, 2026Шпаргалка по многозадачности Подготовил интерактивную памятку по многозадачности в Go: — Г…
  2. Sep 2, 2026Множественный разврат возврат Сколько значений можно вернуть из функции через multi-return…
  3. Aug 31, 2026Ошибка ошибка ошибка ошибка Это выражение выглядит странновато, но оно полностью корректно…
  4. Aug 30, 2026Post #280
  5. Aug 25, 2026JSON v2 в Go 1.27 Вторая версия json-пакета впервые появилась как экспериментальная в Go 1…
  6. Aug 10, 2026Generic-методы и их последствия Думаю, «джавафикация» экосистемы Go только усилится с появ…
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 →