• Rob Pike's avatar
    text/template: provide a mechanism for options · 4e5ac45e
    Rob Pike authored
    Add one option, which is the motivating example, a way to control
    what happens when a map is indexed with a key that is not in the map.
    Rather than do something specific for that case, we provide a simple
    general option mechanism to avoid adding API if something else
    comes up. This general approach also makes it easy for html/template
    to track (and adapt, should that become important).
    
    New method: Option(option string...). The option strings are key=value
    pairs or just simple strings (no =).
    
    New option:
    
     missingkey: Control the behavior during execution if a map is
     indexed with a key that is not present in the map.
    	"missingkey=default" or "missingkey=invalid"
    		The default behavior: Do nothing and continue execution.
    		If printed, the result of the index operation is the string
    		"<no value>".
    	"missingkey=zero"
    		The operation returns the zero value for the map type's element.
    	"missingkey=error"
    		Execution stops immediately with an error.
    
    Fixes #6288.
    
    Change-Id: Id811e2b99dc05aff324d517faac113ef3c25293a
    Reviewed-on: https://go-review.googlesource.com/8462Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
    4e5ac45e
template.go 6.58 KB