Будет ли работать код при пустой строке?
Answer from AI
sobes.tech AI
Что хотят услышать интервьюеры:
Нужно показать, что код проверяет крайние случаи, а не только «нормальные» данные. Пустая строка часто ломает парсинг, индексацию и разбиение на токены. Хороший ответ — сначала уточнить, что именно делает код, и затем сказать, где будет безопасно, а где возможна ошибка или пустой результат.
Определение:
Пустая строка — это строка длиной ноль, то есть в ней нет ни одного символа. Поведение кода при такой строке зависит от операций: одни функции вернут пустой результат, другие могут вызвать panic или ошибку доступа к индексу. Поэтому при работе со строками обычно отдельно обрабатывают случай "".
Пример использования:
Например, если код берёт первый символ строки в Go, то на пустой строке он не будет работать, потому что индекс 0 недоступен.
package main
import "fmt"
func main() {
s := ""
if s == "" {
fmt.Println("пустая строка")
return
}
fmt.Println(string(s[0]))
}
Пояснение кода:
Код показывает безопасную обработку пустой строки по шагам.
Сначала строка s инициализируется как пустая.
Затем выполняется проверка s == ""; если строка пустая, программа завершает обработку без обращения к символам по индексу.
Если бы этой проверки не было, выражение s[0] привело бы к ошибке, потому что в пустой строке нет первого байта/символа.
Ключевые моменты:
- Пустая строка — это отдельный крайний случай, который нужно проверять явно.
- Операции вроде
len(s) == 0илиs == ""помогают избежать ошибок. - Доступ по индексу к пустой строке обычно приводит к аварии выполнения.
- Некоторые операции на пустой строке безопасны и просто возвращают пустой результат.
- Для собеседования важно сказать не «да/нет», а уточнить конкретную операцию над строкой.