@Espio

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

В ГО я новичок. Преподаватель дал задание написать WEB-приложение на ГО. Так появилась трудность.
У меня есть текстовый файл в котором хранятся категории для web приложения.
Создал класс, который генерирует главную страницу и передаёт туда значения из текстового файла.
type Page struct {
	Title string
	Body  []byte
}

func generalHandler(w http.ResponseWriter, r *http.Request) {

	category_name, err := ioutil.ReadFile("category_name.txt")
	if err != nil {
		fmt.Print(err)
	}

	category := strings.Split(string(category_name), "\n")

	t, err := template.ParseFiles("general.html")
	if err != nil {
		fmt.Print(err)
	}
	t.Execute(w, category)

}

Как я понял функция Split должна генерить массив строк.
<html>
    <head>
        <title>Главная страница</title>
    </head>

    <body> 
        <h1>Категории</h1>
        <ul>
            
            <li><b>{{.}}</b></li>
           
        </ul>
    </body>

</html>


5ea1839e43789292995803.jpeg

Пока вся HTML страница. Таким образом он у меня выводит все значения в одну строку, но я хочу что-то типа такого.

<html>
    <head>
        <title>Главная страница</title>
    </head>

    <body> 
        <h1>Категории</h1>
        <ul>
            {{range.category}}
            <li><b>{{.}}</b></li>
           {{end}}
        </ul>
    </body>

</html>


Так он мне ничего не выводит. Подскажите пожалуйста как быть. Буду рад ссылкам с примерами и пояснениями, как работать в GO и HTML.
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
@ghostiam
На Go писатель, серверов пинатель.
Почитайте https://levelup.gitconnected.com/learn-and-use-tem... (если вдруг просит регистрацию, зайдите в режиме "Инкогнито")
так же, чуть менее подробно есть https://gowebexamples.com/templates/
там даны примеры работы с template

в данном случае вам нужно
<html>
    <head>
        <title>Главная страница</title>
    </head>

    <body> 
        <h1>Категории</h1>
        <ul>
            {{range .}}
            <li><b>{{.}}</b></li>
           {{end}}
        </ul>
    </body>

</html>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы