dsfsdf7852 2015-05-15 22:51 采纳率: 100%
浏览 192

如何在Go模板的单个语句中使用多个参数

I'm trying to pipe multiple conditions in a single if statement(using text/template package) which should translate into "If $total == 1 and has function returns false display works". I don't understand how exactly the pipelines work or why I'm getting this non-sense error. As far as I understand when chaining is used (|) it sends the result as argument to the last command (and in this case)

{{if  eq $total 1 | ne has true | and}}
    Works
{{end}}

err template: :29:26: executing "" at <ne>: wrong number of args for ne: want 2 got 2

  • 写回答

1条回答 默认 最新

  • doupiao9318 2015-05-16 09:17
    关注

    I'm not sure about why the funny error message, but you are actually passing 3 arguments to ne which triggers the error :

    (from the text/template package)

    A pipeline may be "chained" by separating a sequence of commands with pipeline characters '|'. In a chained pipeline, the result of the each command is passed as the last argument of the following command. The output of the final command in the pipeline is the value of the pipeline.

    So you are giving ne the result of function has, the value true and the result of the first expression.

    To get what you want do:

    {{if eq $total 1 | and (not has)}}
        Works
    {{end}}
    

    This will compare the result of eq $total 1 (or $total == 1) which is passed as the second argument to the and and the negated result of has and thus only print Works when $total == 1 AND has returns false.

    See a working example on the Playground. Note that I replaced $total (since I can't tell where you get it from) with a simple struct.

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题