Вместе с Templ мы можем написать следующий код:
/ index.templ
package mainhttps://github.com/a-h/templ/raw/main/ide-demo.gif
templ hello(name string) {
if name == "Виктор" {
<div>Привет, Виктор! Как твои дела сегодня?</div>
} else {
<div>Hello, { name }</div>
}
}
templ greeting(person Person) {
<div class="greeting">
@hello(person.Name)
</div>
}
// ...
Далее вам просто нужно запустить процесс генерации всех
*.templфайлов
...:go run github.com/a-h/templ/cmd/templ@latest generate
...и после этого
index.templ
будет преобразована в обычную функцию Go и готоа к запуску. Выглядеть она может как-то так: // main.go
package main
// ...
// Simple user struct.
type Person struct {
Name string
}
func main() {
// Create a new user with name.
user := Person{Name: "John"}
// Create Templ handler.
handler := templ.Handler(greeting(user))
// Serve Templ handler with HTTP server.
http.Handle("/", handler)
// Start simple HTTP server.
http.ListenAndServe(":3000", nil)
}
Теперь откройте браузер
http://localhost:3000
и посмотрите результат.Да, это так просто!
@golang_interview