当前位置: 首页 > 面试题库 >

使用go-templates内的范围检测数组中的最后一项

佟阳飙
2023-03-14
问题内容

该程序输出简单

1,4,2,

但我想打印

1,4,2。

如您所见,逗号是在数组的每个项目之后打印的。

package main

import "os"
import "text/template"

func main() {
    params := map[string]interface{}{
        "items": [3]int{1, 4, 2},
    }
    tpl := "{{range $i, $el := .items}}{{$el}},{{end}}"
    lister, _ := template.New("foo").Parse(tpl)
    lister.Execute(os.Stdout, params)
}

有没有一种方法可以更改,{{range $i, $el := .items}}{{$el}},{{end}}并确保最后一项将打印“。” 代替 ”,”


问题答案:

您可以使用

tpl := "{{range $i, $el := .items}}{{if $i}},{{end}}{{$el}}{{end}}."

实现这一目标。诀窍是首先发出逗号分隔符,而不是该范围内的第一项。



 类似资料:
  • 问题内容: 给定模板: 这可以输出: 但是,如果我要输出: 我需要知道哪个是上述范围内的最后一个元素。 我可以设置一个变量,该变量保留数组的长度,但是始终为3,并且上面的值永远只能为2。而且,根据我所见,您无法在模板中执行算术运算。 是否可以检测模板范围内的最后一个值?干杯。 问题答案: 这可能不是最优雅的解决方案,但却是我能找到的最好的解决方案: http://play.golang.org/p

  • 问题内容: java中是否有一种优雅的方法来检查int是否等于或大于或小于1。 例如,如果我检查周围。我想在上返回true ,因为4和6距5仅1。 有内置功能可以做到这一点吗?还是我最好这样写? 当然,以上代码很难看懂。那有更好的方法吗? 问题答案: 找到它们之间的绝对差异 基于@GregS关于溢出的评论,如果您给出的差值不能适合整数,您将获得一个溢出值 通过将其中一个参数强制转换为long 将返

  • 对于我的Java类,我正在编写一个小程序,首先选择一个介于1和100之间的数字。然后,它会提示用户开始猜测正确的。如果用户对的猜测过高或过低,程序会打印出一个新范围,供他们在该范围内进行猜测。如果用户输入或,程序只需重新要求用户输入,但不会以任何方式更改范围。 示例输出(当机密号为20时)如下所示: 该项目似乎已经基本完成,但只有一个例外。其中一个要求是,当用户键入的超出我们给定的1和100范围时

  • 我的方法是生成所有素数直到(埃拉托色尼筛),并检查给定范围内的每个数是否可被素数的平方整除。这些数字的计数从范围的长度中减去,以给出平方自由数。 但是这种方法在复杂度上超时了,请建议一些其他的方法

  • 41.1 测试范围内的依赖 如果使用了spring-boot-starter-test“启动器”(scope为test),将得到以下库: JUnit —— Java程序单元测试事实上的标准 Spring Test & Spring Boot Test —— 工具类以及支持Spring Boot程序的集成测试 AssertJ —— 一个优美的断言库 http://hamcrest.org/JavaH

  • 给定一个数,最小数值,最大数,什么是最有效的方法来确定 > 数 是否在范围内,包括 、 - 数字包含或不包含重复的数字 这里的效率意味着方法或方法集需要最少的计算资源,并在最短的时间内返回 或 上下文:在< code>for循环中< code>if处的条件,可能需要数千到数十万次迭代才能返回结果;对于< code>Number检查,返回< code>true或< code>false所需的毫秒数可