Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!
Тут возникает приславутый вопрос zero cost abstractions. Насколько адекватно компилятор реагирует на подобные усложнения? Чисто теоретически все должно быть нормально, но на деле тот же Write во втором примере будет inline фукнцией или будет дополнительным вызовом с сохранением стека? Все же для такого низкоуровневого кода, каждый лишний call может быть критичен.
_, eof, err = br.ReadString('\n')for {
_, err = br.ReadString('\n')
if err != nil {
if err == io.EOF {
break;
}
return 0, err
}
lines++
}
Освобождаемся от обработки ошибок, устраняя ошибки