mirror of
https://github.com/golang/go
synced 2024-11-11 22:20:22 -07:00
spec: added additional links, added missing 'label'
No semantic spec changes. R=r CC=golang-dev https://golang.org/cl/14363043
This commit is contained in:
parent
e59db90bfb
commit
4cc71e3363
@ -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>
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user