Выбор ответа Middle Строки, байты и руны обновлено
strings.Split пустой строки
Вопрос
Что вернёт strings.Split("", ",")?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Слайс из одной пустой строки, len 1. Split режет строку по разделителю и возвращает все части, даже пустые.
Варианты ответа
- Слайс из одной пустой строки, len 1правильный ответ
- Пустой слайс
[]string{}, len 0 - nil, как у пустого результата
- panic: пустая строка для разбора
Разбор
Split режет строку по разделителю и возвращает все части, даже пустые. У пустой строки одна часть, сама пустая строка. Частый баг при разборе CSV-параметра ?ids=: получается [""], и цикл обрабатывает «пустой id». Если нужно игнорировать пустые части, подходит strings.FieldsFunc или проверка if s == "".
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Строки, байты и руны»
- Байты и символы в строке Go
- Разворот строки с кириллицей на Go
- Сжатие RLE для строк UTF-8 на Go
- Палиндром с кириллицей и знаками на Go
- Перенос текста по ширине в символах на Go
- Что выведет Go: len и range по строке с кириллицей
- Что выведет Go: руны, байты и преобразования
- Что выведет Go: сравнение и срезы строк