Skip to content

Latest commit

 

History

History
21 lines (16 loc) · 2.02 KB

File metadata and controls

21 lines (16 loc) · 2.02 KB

Давайте разберем, почему здесь используется отдельная переменная serveErr вместо переиспользования существующей переменной err:

  1. Область видимости (scope):

    • Переменная err объявлена во внешней области видимости теста
    • Горутина создает свою собственную область видимости
    • Если бы мы использовали := с err внутри горутины, это создало бы новую переменную err, затеняющую внешнюю, что может привести к путанице
  2. Параллельное выполнение:

    • Горутина выполняется параллельно с основным потоком теста
    • Если бы мы переиспользовали err, могла бы возникнуть гонка данных (race condition), так как основной поток теста тоже работает с этой переменной
  3. Ясность кода:

    • Использование отдельной переменной serveErr делает код более понятным
    • Сразу видно, что эта ошибка относится именно к операции Serve()
    • Улучшает читаемость и поддерживаемость кода
  4. Изоляция ошибок:

    • Отдельная переменная позволяет четко отделить ошибки сервера от других возможных ошибок в тесте
    • Упрощает отладку, так как сразу понятно, откуда пришла ошибка

Поэтому использование отдельной переменной serveErr здесь является хорошей практикой программирования.