1
0
mirror of https://github.com/golang/go synced 2024-11-19 14:24:47 -07:00

exp/template: documentation glitches and typos.

Also explain that len(v)==0 makes v a 'zero value'
in template execution.

R=golang-dev, dsymonds, adg, r
CC=golang-dev
https://golang.org/cl/4691041
This commit is contained in:
Rob Pike 2011-07-11 14:43:21 +10:00
parent 0027dc91b0
commit 96bbcc4256
2 changed files with 22 additions and 10 deletions

View File

@ -33,9 +33,9 @@ data, defined in detail below.
is copied to the output. is copied to the output.
{{if pipeline}} T1 {{end}} {{if pipeline}} T1 {{end}}
If the value of the pipeline is the zero value for its type, no If the value of the pipeline is the "zero value" (see below) for
output is generated; otherwise, T1 is executed. Dot is its type, no output is generated; otherwise, T1 is executed.
unaffected. Dot is unaffected.
{{if pipeline}} T1 {{else}} T0 {{end}} {{if pipeline}} T1 {{else}} T0 {{end}}
If the value of the pipeline is the zero value for its type, T0 If the value of the pipeline is the zero value for its type, T0
@ -60,7 +60,7 @@ data, defined in detail below.
{{template argument pipeline}} {{template argument pipeline}}
If the value of the argument is a string, the template with that If the value of the argument is a string, the template with that
name is executed with data set to the value of the pipeline . If name is executed with data set to the value of the pipeline. If
the value of arg is of type *Template, that template is the value of arg is of type *Template, that template is
executed. executed.
@ -74,6 +74,9 @@ data, defined in detail below.
is unaffected and T0 is executed; otherwise, dot is set to the is unaffected and T0 is executed; otherwise, dot is set to the
value of the pipeline and T1 is executed. value of the pipeline and T1 is executed.
"Zero value" means the true zero value in Go terms. Also, for arrays, slices,
maps, and strings, any value v with len(v)==0 counts as a zero value.
Arguments Arguments
An argument is a simple value, denoted by one of the following: An argument is a simple value, denoted by one of the following:
@ -91,6 +94,12 @@ An argument is a simple value, denoted by one of the following:
$ $
The result is the value of the variable. The result is the value of the variable.
Variables are described below. Variables are described below.
- The name of a field of the data, which must be a struct, preceded
by a period, such as
.Field
The result is the value of the field. Field invocations may be
chained:
.Field1.Field2
- The name of a niladic method of the data, preceded by a period, - The name of a niladic method of the data, preceded by a period,
such as such as
.Method .Method
@ -99,6 +108,9 @@ An argument is a simple value, denoted by one of the following:
any type) or two return values, the second of which is an os.Error. any type) or two return values, the second of which is an os.Error.
If it has two and the returned error is non-nil, execution terminates If it has two and the returned error is non-nil, execution terminates
and that error is returned to the caller as the value of Execute. and that error is returned to the caller as the value of Execute.
Method invocations may be chained, but only the last element of
the chain may be a method; other others must be struct fields:
.Field1.Field2.Method
- The name of a niladic function, such as - The name of a niladic function, such as
fun fun
The result is the value of invoking the function, fun(). The return The result is the value of invoking the function, fun(). The return
@ -187,7 +199,7 @@ the set but the Funcs methods can be used to add them.
Predefined global functions are named as follows. Predefined global functions are named as follows.
and and
Returns the boolean and AND of its arguments. Returns the boolean AND of its arguments.
html html
Returns the escaped HTML equivalent of the textual Returns the escaped HTML equivalent of the textual
representation of its arguments. representation of its arguments.
@ -201,7 +213,7 @@ Predefined global functions are named as follows.
not not
Returns the boolean negation of its single argument. Returns the boolean negation of its single argument.
or or
Returns the booland OR of its arguments. Returns the boolean OR of its arguments.
print print
An alias for fmt.Sprint An alias for fmt.Sprint
printf printf

View File

@ -42,7 +42,7 @@ func (t *Template) MustParseFile(filename string) *Template {
return t return t
} }
// ParseFile is a helper function that creates a new *Template and parses // ParseFile is a helper function that creates a new Template and parses
// the template definition from the named file. // the template definition from the named file.
// The template name is the base name of the file. // The template name is the base name of the file.
func ParseFile(filename string) (*Template, os.Error) { func ParseFile(filename string) (*Template, os.Error) {
@ -50,7 +50,7 @@ func ParseFile(filename string) (*Template, os.Error) {
return t, t.ParseFile(filename) return t, t.ParseFile(filename)
} }
// MustParseFile is a helper function that creates a new *Template and parses // MustParseFile is a helper function that creates a new Template and parses
// the template definition from the named file. // the template definition from the named file.
// The template name is the base name of the file. // The template name is the base name of the file.
// It panics if the file cannot be read or the template cannot be parsed. // It panics if the file cannot be read or the template cannot be parsed.
@ -85,14 +85,14 @@ func (s *Set) MustParseFile(filename string) *Set {
return s return s
} }
// ParseSetFile is a helper function that creates a new *Set and parses // ParseSetFile is a helper function that creates a new Set and parses
// the set definition from the named file. // the set definition from the named file.
func ParseSetFile(filename string) (*Set, os.Error) { func ParseSetFile(filename string) (*Set, os.Error) {
s := NewSet() s := NewSet()
return s, s.ParseFile(filename) return s, s.ParseFile(filename)
} }
// MustParseSetFile is a helper function that creates a new *Set and parses // MustParseSetFile is a helper function that creates a new Set and parses
// the set definition from the named file. // the set definition from the named file.
// It panics if the file cannot be read or the set cannot be parsed. // It panics if the file cannot be read or the set cannot be parsed.
func MustParseSetFile(filename string) *Set { func MustParseSetFile(filename string) *Set {