Как прочитать файл, начиная с определенного номера строки, используя сканер?

Я новичок в Go и пытаюсь написать простой скрипт, который читает файл построчно. Я также хочу сохранить прогресс (т. Е. Номер последней строки, который был прочитан) в файловой системе где-нибудь, чтобы, если тот же файл был передан в качестве входных данных для скрипта, он начал читать файл со строки, где он остановился. Вот с чего я начал.

package main

// Package Imports
import (
    "bufio"
    "flag"
    "fmt"
    "log"
    "os"
)

// Variable Declaration
var (
    ConfigFile = flag.String("configfile", "../config.json", "Path to json configuration file.")
)

// The main function that reads the file and parses the log entries
func main() {
    flag.Parse()
    settings := NewConfig(*ConfigFile)

    inputFile, err := os.Open(settings.Source)
    if err != nil {
        log.Fatal(err)
    }
    defer inputFile.Close()

    scanner := bufio.NewScanner(inputFile)
    for scanner.Scan() {
        fmt.Println(scanner.Text())
    }

    if err := scanner.Err(); err != nil {
        log.Fatal(err)
    }
}

// Saves the current progress
func SaveProgress() {

}

// Get the line count from the progress to make sure
func GetCounter() {

}

Я не смог найти m, ethods, которые имеют дело с номерами строк в пакете сканера. Я знаю, что могу объявить целое число сказатьcounter := 0 и увеличивать его каждый раз, когда строка читается какcounter++, Но в следующий раз, как мне сказать, чтобы сканер запускался с определенной строки? Так, например, если я читаю до строки30 при следующем запуске сценария с тем же входным файлом, как я могу сделать сканер, чтобы начать чтение из строки31?

Обновить

Одно из решений, которое я могу придумать, состоит в том, чтобы использовать счетчик, как я говорил выше, и использовать условие if, подобное следующему.

    scanner := bufio.NewScanner(inputFile)
    for scanner.Scan() {
        if counter > progress {
            fmt.Println(scanner.Text())
        }
    }

Я почти уверен, что что-то подобное сработает, но оно все еще будет повторять строки, которые мы уже прочитали. Пожалуйста, предложите лучший способ.

Ответы на вопрос(4)

Ваш ответ на вопрос