猿问

Golang 函数“无法评估字符串类型的字段”

我有一个 Item 类型的结构,其中包含 ItemFields,它是字符串类型的一部分。我想有条件地打印 ItemFields 中的每个字符串,这是一个带有锚标记的超链接。为此,我使用了一个函数 IsHyperlink 来检查切片中的每个字符串是否应该包含在锚标记中或简单地打印出来。


type Item struct {

  ItemFields []string

}

我像这样在 page.html 中循环遍历 ItemFields。


{{range .Items}}

  <ul>

    <li>

      {{range .ItemFields}}

        {{if .IsHyperlink .}}

          <a href="{{.}}">{{.}}</a>

        {{else}}

          {{.}}

        {{end}}

      {{end}}

    </li>

  </ul>

{{end}}

但是,当我运行应用程序时,IsHyperlink 报告它“无法评估字符串类型的字段 IsHyperlink”。


如何更改我的 go 代码以成功将超链接包装在锚标记中?


qq_遁去的一_1
浏览 103回答 1
1回答

慕虎7371278

该上下文中的值.是一个字符串,而不是Item. 使用变量来引用项目:{{range $item := .Items}}&nbsp; <tr>&nbsp; &nbsp; <td>&nbsp; &nbsp; &nbsp; {{range .ItemFields}}&nbsp; &nbsp; &nbsp; &nbsp; {{if $item.IsHyperlink .}}&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="{{.}}">{{.}}</a>&nbsp; &nbsp; &nbsp; &nbsp; {{else}}&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {{.}}&nbsp; &nbsp; &nbsp; &nbsp; {{end}}&nbsp; &nbsp; &nbsp; {{end}}&nbsp; &nbsp; </td>&nbsp; </tr>{{end}}
随时随地看视频慕课网APP

相关分类

Go
我要回答