Как показать таблицу из среза с моей структурой

Я хочу показать таблицу, в которой каждая строка содержит данные моей структуры.

Вот моя структура:

type My_Struct struct {
FIRST_FIELD       string
SECOND_FIELD      string
THIED_FIELD       string
}

Вот мой html-код:

<table id = "t01">
<tr>
    <th>FIRST FIELD</th>
    <th>SECOND FIELD</th>
    <th>THIRD FIELD</th>
</tr>
<tr>
    <td>FIRST_OBJ_HERE_SHOULD_BE_THE_FIRST_FIELD</td>
    <td>FIRST_OBJ_HERE_SHOULD_BE_THE_SECOND_FIELD</td>
    <td>FIRST_OBJ_HERE_SHOULD_BE_THE_THIRD_FIELD</td>
</tr>

<tr>
    <td>SECOND_OBJ_HERE_SHOULD_BE_THE_FIRST_FIELD</td>
    <td>SECOND_OBJ_HERE_SHOULD_BE_THE_SECOND_FIELD</td>
    <td>SECOND_OBJ_HERE_SHOULD_BE_THE_THIRD_FIELD</td>
</tr>

</table>

Как видите, я хочу передать слайс со своей структурой (каждый из которых содержит 3 файла) в этот html-код, и я хочу, чтобы весь слайс был задан в этой таблице - каждая строка содержит данные одной структуры.

Как я могу этого добиться?

Пожалуйста, покажите, что вы пробовали и что не сработало. Это должно быть достаточно просто с использованием пакета html/шаблон.

Marc 25.05.2019 17:46
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
1
630
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, вам нужен пакет Шаблон перехода.

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

type MyStruct struct {
        SomeField string
}

func MyStructHandler(w http.ResponseWriter, r *http.Request) {
        ms := MyStruct{
                SomeField: "Hello Friends",
        }

        t := template.Must(template.ParseFiles("./showmystruct.html"))
t.Execute(w, ms)
}

Получите доступ к полям структуры, используя синтаксис шаблона Go в вашем представлении (showmystruct.html):

<!DOCTYPE html>
<title>Show My Struct</title>
<h1>{{ .SomeField }}</h1>

Обновлять

Если вы особенно заинтересованы в передаче списка и повторении его, то полезно ключевое слово {{ range }}. Кроме того, существует довольно распространенный шаблон (по крайней мере, в моем мире), когда вы передаете структуру PageData{} в представление.

Вот расширенный пример, добавляющий список структур и структуру PageData (чтобы мы могли получить доступ к ее полям в шаблоне):

type MyStruct struct {
    SomeField string
}

type PageData struct {
    Title string
    Data []MyStruct
}

func MyStructHandler(w http.ResponseWriter, r *http.Request) {
        data := PageData{
            Title: "My Super Awesome Page of Structs",
            Data: []MyStruct{
                MyStruct{
                    SomeField: "Hello Friends",
                },
                MyStruct{
                    SomeField: "Goodbye Friends",
                },
            }

        t := template.Must(template.ParseFiles("./showmystruct.html"))
        t.Execute(w, data)

}

И модифицированный шаблон (showmystruct.html):

<!DOCTYPE html>
<title>{{ .Title }}</title>
<ul>
  {{ range .Data }}
    <li>{{ .SomeField }}</li>
  {{ end }}
</ul>

Спасибо! Но моя главная проблема - передать список этой структуры. Как я могу таким образом получить доступ к каждой структуре в списке в HTML-коде?

Ofir 25.05.2019 19:05

Я обновил ответ, включив в него повторение диапазона.

Drew Ogryzek 25.05.2019 19:19

Другие вопросы по теме