👣 Как в Go можно реализовать постоянное чтение файла?



🟡Имеется текстовый файл, время от времени в него добавляется информация из стороннего сервиса. Нужно постоянно считывать данный файл и по мере того, как в него добавляются новые строки выводить эти новые строки в консоль. Как это можно организовать?



🟡Для этого существует библиотека github.com/nxadm/tail, которая следит за обновлениями в файле.

А код для решения задачи может выглядеть так:

package main



import (

"fmt"



"github.com/nxadm/tail"

)



var logFile = "log.log"



func main() {

t, err := tail.TailFile(logFile, tail.Config{Follow: true})

if err != nil {

panic(err)

}



for line := range t.Lines {

fmt.Println(line.Text)

}

}


Этот код следит за обновлениями в файле log.log и бесконечно читает оттуда новые строки.



@golang_interview