SuperAPI AI 工具集

gomponents

前端与建站

查看项目

更新于 10-16 00:05

技能介绍

用途:gomponents 是纯 Go 的 HTML 组件库,将 HTML 元素视为可组合的 Go 值,用于在 Go 应用中构建、渲染或编辑 HTML 与 UI,尤其适合服务端 HTML 视图和可复用组件。

主要能力:所有内容实现 Node 接口(Render(w io.Writer) error)。核心函数包括 El(name, children...) 创建自定义元素、Attr(name, value...) 创建自定义属性;html 包提供标准 HTML5 元素与属性函数,如 Div()、Span()、P()、A() 及 Class()、ID()、Href()、Src() 等。文本方面有 Text、Textf(转义)与 Raw、Rawf(不转义)。组合方面有 Group([]Node)、Map[T]([]T, func(T) Node)、If(condition, node) 与 Iff(condition, func() Node)(惰性求值)。渲染时 nil Node 会被忽略。

使用方式:官方建议使用点导入以获得类 DSL 语法,例如 import (. "maragu.dev/gomponents"; . "maragu.dev/gomponents/html"; . "maragu.dev/gomponents/components")。包组织为:maragu.dev/gomponents 核心接口与辅助函数;maragu.dev/gomponents/html 全部 HTML5 元素与属性;maragu.dev/gomponents/http 将组件渲染为 HTTP 响应的辅助工具;maragu.dev/gomponents/components 高层工具(HTML5 文档结构、动态 class)。HTTP 用法中,http 包提供返回 (Node, error) 的 Handler 类型、Adapt(Handler) 转换为 http.HandlerFunc,并可通过 StatusCode() int 接口自定义状态码。

适用场景:在 Go 应用中编写服务端 HTML 视图、创建可复用 HTML 组件、条件渲染、列表渲染、无父元素分组以及构建完整 HTML5 文档。

限制:资料未提供性能、浏览器兼容性、版本要求或收费等信息,暂未提供。