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.

Reply via email to