Sobes.tech
Back to questions
Middle — Senior
15

Будет ли работать код при пустой строке?

Companies where asked
СБЕРСБЕР

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 == "" помогают избежать ошибок.
  • Доступ по индексу к пустой строке обычно приводит к аварии выполнения.
  • Некоторые операции на пустой строке безопасны и просто возвращают пустой результат.
  • Для собеседования важно сказать не «да/нет», а уточнить конкретную операцию над строкой.