«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу обнаружить изменения файла в GO с помощью опроса статуса?

Как я могу обнаружить изменения файла в GO с помощью опроса статуса?

Опубликовано в 2025-02-16
Просматривать:362

How Can I Detect File Changes in Go Using Status Polling?

обнаружить изменения файла в GO, используя статус опрос

. В то время как GO не предлагает прямой эквивалент функции Unix fcntl () для уведомлений об изменении файла, опрос статуса предоставляет кроссплатформенное решение:

func watchFile(filePath string) error {
    initialStat, err := os.Stat(filePath)
    if err != nil {
        return err
    }

    for {
        stat, err := os.Stat(filePath)
        if err != nil {
            return err
        }

        if stat.Size() != initialStat.Size() || stat.ModTime() != initialStat.ModTime() {
            break
        }

        time.Sleep(1 * time.Second)
    }

    return nil
}

usage:

doneChan := make(chan bool)

go func(doneChan chan bool) {
    defer func() {
        doneChan  

это решение не предлагает эффективность системы вызова, но обеспечивает простой подход, который работает на всех платформах и может быть достаточно для различных вариантов использования.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3