登录
首页 >  Golang >  Go问答

这个调用是怎么调用的呢?

来源:stackoverflow

时间:2024-04-30 15:15:32 224浏览 收藏

大家好,我们又见面了啊~本文《这个调用是怎么调用的呢?》的内容中将会涉及到等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面就开始本文的正式内容~

问题内容

在 hugo 模板中,我知道您可以使用 function param 调用函数:

{{ singularize "cats" }}

但在文档中,我还看到您也可以这样做:

{{ "cats" | singularize }}

我从未遇到过这种调用函数的方式(在 ruby/python 等语言中)。这是 go 特定的,还是 hugo 特定的?这种调用函数的方式是如何调用的呢?另外,如果你有不止一种类型的参数,你能做到吗?


解决方案


这是 Go 模板引擎的一个功能,虽然它不是一个新想法,但如果您使用 unix 系统,您可以在 shell 命令中执行相同的操作(例如 ls |more)。

这称为“链接”:您指定一系列命令,每个命令的输出用作链中下一个命令的输入。

记录在 text/template

可以通过使用管道字符“|”分隔命令序列来“链接”管道。在链式管道中,每个命令的结果作为后续命令的最后一个参数传递。管道中最终命令的输出是管道的值。

Go模板引擎只允许注册和调用具有单个返回值的函数和方法;或 2 个返回值,其中第二个必须是 error 类型(检查该值以判断调用是否被视为成功,并且非 nil 错误会以错误终止模板执行)。因此,您无法链接具有多个返回值的命令,也无法指定元组将多个值传递给具有多个参数的函数。

有关管道的更多信息,请参阅 golang template engine pipelines

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《这个调用是怎么调用的呢?》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>