1
0
mirror of https://github.com/golang/go synced 2024-11-22 01:34:41 -07:00

- added heading to operator precedence section so it's easy to find

- fixed broken link to function literals section
- minor adjustments

R=r
DELTA=20  (1 added, 3 deleted, 16 changed)
OCL=34792
CL=34794
This commit is contained in:
Robert Griesemer 2009-09-18 11:58:35 -07:00
parent 6a2602de91
commit d36d191e25

View File

@ -167,7 +167,7 @@ unicode_digit = /* a Unicode code point classified as "Digit" */ .
</pre>
<p>
In <i>The Unicode Standard 5.0</i>,
In <a href="http://www.unicode.org/versions/Unicode5.1.0/">The Unicode Standard 5.1</a>,
Section 4.5 General Category-Normative
defines a set of character categories. Go treats
those characters in category Lu, Ll, Lt, Lm, or Lo as Unicode letters,
@ -244,7 +244,7 @@ continue for import return var
<h3 id="Operators_and_Delimiters">Operators and Delimiters</h3>
<p>
The following character sequences represent operators, delimiters, and other special tokens:
The following character sequences represent <a href="#Operators">operators</a>, delimiters, and other special tokens:
</p>
<pre class="grammar">
+ &amp; += &amp;= &amp;&amp; == != ( )
@ -2527,6 +2527,7 @@ var f = float(1&lt;&lt;s); // illegal: 1 has type float, cannot shift
var g = float(1&lt;&lt;33); // legal; 1&lt;&lt;33 is a constant shift operation; g == 1&lt;&lt;33
</pre>
<h3 id="Operator_precedence">Operator precedence</h3>
<p>
Unary operators have the highest precedence.
As the <code>++</code> and <code>--</code> operators form
@ -2536,7 +2537,7 @@ As a consequence, statement <code>*p++</code> is the same as <code>(*p)++</code>
<p>
There are six precedence levels for binary operators.
Multiplication operators bind strongest, followed by addition
operators, comparison operators, communication operators,
operators, comparison operators, <code>&lt;-</code> (channel send),
<code>&amp;&amp;</code> (logical and), and finally <code>||</code> (logical or):
</p>
@ -2552,10 +2553,7 @@ Precedence Operator
<p>
Binary operators of the same precedence associate from left to right.
For instance, <code>x / y / z</code> is the same as <code>(x / y) / z</code>.
</p>
<p>
Examples:
For instance, <code>x / y * z</code> is the same as <code>(x / y) * z</code>.
</p>
<pre>
@ -2564,7 +2562,7 @@ Examples:
x &lt;= f()
^a &gt;&gt; b
f() || g()
x == y + 1 &amp;&amp; &lt;-chan_ptr > 0
x == y+1 &amp;&amp; &lt;-chan_ptr > 0
</pre>
@ -2963,7 +2961,7 @@ the receiver is provided as the first argument to the call.
That is, given <code>f := T.Mv</code>, <code>f</code> is invoked
as <code>f(t, 7)</code> not <code>t.f(7)</code>.
To construct a function that binds the receiver, use a
<a href="Function_literals">closure</a>.
<a href="#Function_literals">closure</a>.
</p>
<p>