I'm mostly thinking of functions with side-effects, much like {{ $var := "val" }}. It doesn't make much sense for these to return anything.
Not allowing 0-valued functions limits functions you can call on objects in templates as well. For example, a trivial map implementation: type MyMap map[string]interface{} func (m MyMap) Set(key string, val interface{}) { m[key] = val } And then in your function map: "Map": func map() MyMap { return make(MyMap) } You can't actually use Set in a template as it has void return. On Fri, Apr 9, 2021 at 11:19 AM aind...@gmail.com <aindu...@gmail.com> wrote: > I believe functions are meant to be used as part of a pipeline, so having > 1 value (+ error) makes it so the pipeline only stops execution on an > error. > I personally have not found a use for void functions, and it makes it > easier > to visualize the template execution model. > On Friday, April 9, 2021 at 2:05:33 PM UTC-4 Johnny Jacobs wrote: > >> Hello all, >> >> Is there any reason you can't use a custom function with no return value >> in Go templates? >> >> You get a "Can't call method/function with 0 results." if you try to call >> such a function. FuncMap <https://golang.org/pkg/text/template/#FuncMap> >> requires >> functions to either return a value, or a value plus an error. >> >> Is there any reason, technical or otherwise, for these restrictions? >> Variables assignment and many Action clauses don't give back values, so it >> doesn't seem like it breaks convention. >> >> I might file an issue for this if nothing meaningful is brought up here. >> >> Best, >> Johnny >> > -- > You received this message because you are subscribed to a topic in the > Google Groups "golang-nuts" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/golang-nuts/xAvfWunrHss/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/41190a31-3151-4a5a-b9b8-631198dca58fn%40googlegroups.com > <https://groups.google.com/d/msgid/golang-nuts/41190a31-3151-4a5a-b9b8-631198dca58fn%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CABERFJUo3pM1y2EUY9RJZwW2FCY8-%2ByooZU%2BfAtiO7V4FLBxjg%40mail.gmail.com.