РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
176 of 1593 menu

Функция bytes.Cut

Функция bytes.Cut разделяет байтовый срез на две части по первому вхождению указанного разделителя. Она возвращает три значения: часть до разделителя, часть после разделителя и булево значение, указывающее, был ли найден разделитель. Первый параметр функции — исходный байтовый срез, второй — разделитель.

Синтаксис

before, after, found := bytes.Cut(s, sep)

Пример

Давайте разделим строку "a,b,c" по первому вхождению запятой:

package main import ( "bytes" "fmt" ) func main() { s := []byte("a,b,c") sep := []byte(",") before, after, found := bytes.Cut(s, sep) fmt.Printf("before: %q, after: %q, found: %t\n", before, after, found) }

Результат выполнения кода:

"before: \"a\", after: \"b,c\", found: true"

Пример

Если разделитель не найден, функция возвращает исходный срез в качестве первой части, пустой срез в качестве второй части и false:

package main import ( "bytes" "fmt" ) func main() { s := []byte("abcde") sep := []byte("xyz") before, after, found := bytes.Cut(s, sep) fmt.Printf("before: %q, after: %q, found: %t\n", before, after, found) }

Результат выполнения кода:

"before: \"abcde\", after: \"\", found: false"

Пример

Функция учитывает только первое вхождение разделителя. Все последующие вхождения остаются во второй части:

package main import ( "bytes" "fmt" ) func main() { s := []byte("one:two:three:four") sep := []byte(":") before, after, found := bytes.Cut(s, sep) fmt.Printf("before: %q, after: %q, found: %t\n", before, after, found) }

Результат выполнения кода:

"before: \"one\", after: \"two:three:four\", found: true"

Смотрите также

  • функцию strings.Cut,
    которая выполняет аналогичное разделение для строк
  • функцию strings.CutPrefix,
    которая удаляет префикс из строки
  • функцию strings.CutSuffix,
    которая удаляет суффикс из строки
  • функцию bytes.Split,
    которая разделяет байтовый срез по всем вхождениям разделителя
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить