HUGO
News Docs Themes Community GitHub

compare.Default

Returns the second argument if set, else the first argument.

Syntax

compare.Default DEFAULT INPUT

Returns

any

Alias

default

The default function returns the second argument if set, else the first argument.

When the second argument is the boolean false value, the default function returns false. All other falsy values are considered unset.

The falsy values are false, 0, any nil pointer or interface value, any array, slice, map, or string of length zero, and zero time.Time values.

Everything else is truthy.

To set a default value based on truthiness, use the or operator instead.

The default function returns the second argument if set:

{{ default 42 1 }} → 1
{{ default 42 "foo" }} → foo
{{ default 42 (dict "k" "v") }} → map[k:v]
{{ default 42 (slice "a" "b") }} → [a b]
{{ default 42 true }} → true

<!-- As noted above, the boolean "false" is considered set -->
{{ default 42 false }} → false

The default function returns the first argument if the second argument is not set:

{{ default 42 0 }} → 42
{{ default 42 "" }} → 42
{{ default 42 dict }} → 42
{{ default 42 slice }} → 42
{{ default 42 <nil> }} → 42