Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Тут возникает приславутый вопрос 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++
}
Освобождаемся от обработки ошибок, устраняя ошибки