the host machine's ints are 32 or 64 bits.
- The keyword nil, representing an untyped Go nil.
- The character '.' (period):
+
.
+
The result is the value of dot.
- A variable name, which is a (possibly empty) alphanumeric string
preceded by a dollar sign, such as
+
$piOver2
+
or
+
$
+
The result is the value of the variable.
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
+
Fields can also be evaluated on variables, including chaining:
+
$x.Field1.Field2
- The name of a key of the data, which must be a map, preceded
by a period, such as
+
.Key
+
The result is the map element value indexed by the key.
Key invocations may be chained and combined with fields to any
depth:
+
.Field1.Key1.Field2.Key2
+
Although the key must be an alphanumeric identifier, unlike with
field names they do not need to start with an upper case letter.
Keys can also be evaluated on variables, including chaining:
+
$x.key1.key2
- The name of a niladic method of the data, preceded by a period,
such as
+
.Method
+
The result is the value of invoking the method with dot as the
receiver, dot.Method(). Such a method must have one return value (of
any type) or two return values, the second of which is an error.
and an error is returned to the caller as the value of Execute.
Method invocations may be chained and combined with fields and keys
to any depth:
+
.Field1.Key1.Method1.Field2.Key2.Method2
+
Methods can also be evaluated on variables, including chaining:
+
$x.Method1.Field
- The name of a niladic function, such as
+
fun
+
The result is the value of invoking the function, fun(). The return
types and values behave as in methods. Functions and function
names are described below.
- A parenthesized instance of one the above, for grouping. The result
may be accessed by a field or map key invocation.
+
print (.F1 arg1) (.F2 arg2)
(.StructValuedMethod "arg").Field