Как выводить массив из txt файла в HTML страницу на GO?

Для вывода массива из текстового файла на HTML страницу с использованием языка программирования Go, нам понадобятся несколько шагов. Вот подробный алгоритм.

1. Считывание содержимого файла:
Для начала, нам нужно открыть и прочитать содержимое текстового файла. Пример кода для этого выглядит следующим образом:

func readLines(filePath string) ([]string, error) {
    file, err := os.Open(filePath)
    if err != nil {
        return nil, err
    }
    defer file.Close()

    var lines []string
    scanner := bufio.NewScanner(file)
    for scanner.Scan() {
        lines = append(lines, scanner.Text())
    }

    if err := scanner.Err(); err != nil {
        return nil, err
    }
    return lines, nil
}

Здесь функция readLines принимает путь к файлу в качестве аргумента и возвращает срез строк содержащихся в файле.

2. Создание HTML шаблона:
Следующий шаг - создать HTML шаблон, в котором будет отображаться содержимое массива. Следующий код демонстрирует простой пример HTML шаблона для вывода массива:

<!DOCTYPE html>
<html>
<head>
    <title>Массив из файла</title>
</head>
<body>
    {{range .}}
    <p>{{.}}</p>
    {{end}}
</body>
</html>

Здесь {{range .}} и {{.}} являются конструкциями шаблонов Go, позволяющими перебирать элементы массива и выводить каждый элемент на HTML страницу.

3. Использование HTML шаблона в Go:
Последний шаг - использовать HTML шаблон в Go, чтобы сгенерировать HTML страницу с данными из текстового файла. Пример кода выглядит следующим образом:

func main() {
    lines, err := readLines("file.txt")
    if err != nil {
        log.Fatal(err)
    }

    tmpl, err := template.ParseFiles("template.html")
    if err != nil {
        log.Fatal(err)
    }

    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        tmpl.Execute(w, lines)
    })

    log.Fatal(http.ListenAndServe(":8080", nil))
}

Здесь мы используем функцию http.HandleFunc для связи пути / с обработчиком запроса, который выполняет шаблон и выводит на HTML страницу строки из массива lines.

4. Запуск сервера:
Чтобы протестировать код, запустите сервер Go, откройте веб-браузер и перейдите по адресу http://localhost:8080/. Браузер должен показать HTML страницу с данными из текстового файла.

Это подробное объяснение процесса вывода массива из текстового файла на HTML страницу с использованием языка программирования Go.