summaryrefslogtreecommitdiff
path: root/doc/go_spec.html
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2013-10-03 16:38:22 -0700
committerRobert Griesemer <gri@golang.org>2013-10-03 16:38:22 -0700
commit4cc71e336300d50a50b006779207a19deb0c715e (patch)
tree8aa71e7dfc52e6e0dbcb7e3d3ff0cece7a0e36e0 /doc/go_spec.html
parente59db90bfbdeb48ccd70e8c1d228f007f07906ca (diff)
downloadgo-git-4cc71e336300d50a50b006779207a19deb0c715e.tar.gz
spec: added additional links, added missing 'label'
No semantic spec changes. R=r CC=golang-dev https://golang.org/cl/14363043
Diffstat (limited to 'doc/go_spec.html')
-rw-r--r--doc/go_spec.html17
1 files changed, 11 insertions, 6 deletions
diff --git a/doc/go_spec.html b/doc/go_spec.html
index 59bf493622..e62965ab9b 100644
--- a/doc/go_spec.html
+++ b/doc/go_spec.html
@@ -1512,8 +1512,13 @@ Blocks nest and influence <a href="#Declarations_and_scope">scoping</a>.
<h2 id="Declarations_and_scope">Declarations and scope</h2>
<p>
-A declaration binds a non-<a href="#Blank_identifier">blank</a>
-identifier to a constant, type, variable, function, or package.
+A <i>declaration</i> binds a non-<a href="#Blank_identifier">blank</a> identifier to a
+<a href="#Constant_declarations">constant</a>,
+<a href="#Type_declarations">type</a>,
+<a href="#Variable_declarations">variable</a>,
+<a href="#Function_declarations">function</a>,
+<a href="#Labeled_statements">label</a>, or
+<a href="#Import_declarations">package</a>.
Every identifier in a program must be declared.
No identifier may be declared twice in the same block, and
no identifier may be declared in both the file and package block.
@@ -1526,15 +1531,15 @@ TopLevelDecl = Declaration | FunctionDecl | MethodDecl .
<p>
The <i>scope</i> of a declared identifier is the extent of source text in which
-the identifier denotes the specified constant, type, variable, function, or package.
+the identifier denotes the specified constant, type, variable, function, label, or package.
</p>
<p>
-Go is lexically scoped using blocks:
+Go is lexically scoped using <a href="#Blocks">blocks</a>:
</p>
<ol>
- <li>The scope of a predeclared identifier is the universe block.</li>
+ <li>The scope of a <a href="#Predeclared_identifiers">predeclared identifier</a> is the universe block.</li>
<li>The scope of an identifier denoting a constant, type, variable,
or function (but not method) declared at top level (outside any
@@ -1589,7 +1594,7 @@ the body of any nested function.
<p>
The <i>blank identifier</i>, represented by the underscore character <code>_</code>, may be used in a declaration like
-any other identifier but the declaration does not introduce a new binding.
+any other identifier but the declaration does not introduce a new <a href="#Declarations_and_scope">binding</a>.
</p>