/
githubmirror
/
lazygit
Обзор
Документация
Войти
/
githubmirror
/
lazygit
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
pkg/utils/io.go
30 строк
473 B
Stefan Haller
Fix ForEachLineInFile to not lose the last line if it doesn't end with a LF
09 окт 2024, 16:37
09 окт 2024, 16:37
696e78f
Код
Авторство
О чём код?
package utils import ( "bufio" "io" "os" ) func ForEachLineInFile(path string, f func(string, int)) error { file, err := os.Open(path) if err != nil { return err } defer file.Close() forEachLineInStream(file, f) return nil } func forEachLineInStream(reader io.Reader, f func(string, int)) { bufferedReader := bufio.NewReader(reader) for i := 0; true; i++ { line, _ := bufferedReader.ReadString('\n') if len(line) == 0 { break } f(line, i) } }