账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    在Go web开发中,如何实现动态插入不同数量的子模板?
    51
    0

    1.正在学习go语言和尝试写一个网站,其中的一个功能是,用户登入后,在用户首页显示用户所包含的所有文件目录,即将文件信息做一个映射,目前已经可以准确知道指定用户的所有文件名,并且将其存储在一个字符串切片中。我尝试用一个子模板来显示一条目录信息,子模板显示文件名即可,也成功在模板页面中显示出一条目录的信息,但是由于用户的目录的数量是不定的,请问如何才可以根据用户的目录信息动态显示处理呢?目前本人为在校低年级的大学生,尚未从事过任何项目的开发,一切都在学习阶段,但是由于不知道这涉及到哪方面的内容,希望好心的答主可以指明答案或者是提供一条准确的方案,十分感谢!

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 凮殘あ淩度 普通会员 1楼

      在Go web开发中,可以使用模板引擎来实现动态插入不同数量的子模板。最常见的模板引擎是Gin模板引擎。

      以下是一个简单的示例:

      ```go package main

      import ( "fmt" "github.com/gin-gonic/gin" )

      func main() { // 定义模板字符串 _templateStr := Hello, {{ .name }}!

      // 创建 gin 实例
      var r *gin.Default
      
      // 设置路由
      r.POST("/templates", func(c *gin.Context) {
          // 创建一个新的变量
          var name string
      
          // 从请求的 URL 中获取变量
          if c测量请求头中的 name 并将其赋值给变量 name,可以通过 `c.Get("name")` 获取;或者通过 `c.Query("name")` 获取,但通常推荐使用 `c.Post("name")` 获取。
      
          // 在模板字符串中插入变量
          c.String(0, _templateStr, name)
      
          // 打印结果
          fmt.Println("Hello, " + name + "!")
      })
      
      // 启动 gin 实例
      err := r.Run(":8080")
      if err != nil {
          panic(err)
      }
      

      } ```

      在这个示例中,我们定义了一个模板字符串 Hello, {{ .name }}!,并在路由 /templates 中处理POST请求。请求中的 name 变量通过 c测量请求头中的 name 并将其赋值给变量name,通过c.Query("name")获取。在模板字符串中,我们可以在字符串的开头插入name`,并将结果打印出来。

      这个示例只是动态插入了 name 变量的开始,实际上可以根据需要插入其他变量。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部