Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
G
golang
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
go
golang
Commits
fd1f3830
Commit
fd1f3830
authored
Feb 20, 2009
by
Rob Pike
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
autogenerate the table of contents
R=rsc DELTA=149 (1 added, 145 deleted, 3 changed) OCL=25231 CL=25234
parent
4501d348
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
2 additions
and
146 deletions
+2
-146
go_spec.html
doc/go_spec.html
+2
-146
No files found.
doc/go_spec.html
View file @
fd1f3830
This document is a semi-formal specification of the Go systems
programming language.
<p>
<font
color=
red
>
This document is not ready for external review, it is under active development.
Any part may change substantially as design progresses.
</font>
<!--
Biggest open issues:
[ ] General iterators
...
...
@@ -143,143 +135,6 @@ Timeline (9/5/08):
- Jan 1, 2009: enough support to write interesting programs
-->
<h2>
Contents
</h2>
<p>
TODO: This should be autogenerated but that will take work to make h3s appear in this list
</p>
<ul>
<li>
Introduction
<li>
Notation
<li>
Source code representation
<ul>
<li>
Characters
<li>
Letters and digits
</ul>
<li>
Vocabulary
<ul>
<li>
Identifiers
<li>
Numeric literals
<li>
Character and string literals
<li>
Operators and delimitors
<li>
Reserved words
</ul>
<li>
Declarations and scope rules
<ul>
<li>
Predeclared identifiers
<li>
Exported identifiers
<li>
Const declarations
<ul>
<li>
Iota
</ul>
<li>
Type declarations
<li>
Variable declarations
</ul>
<li>
Types
<ul>
<li>
Basic types
<ul>
<li>
Arithmetic types
<li>
Booleans
<li>
Strings
</ul>
<li>
Array types
<li>
Struct types
<li>
Pointer types
<li>
Function types
<li>
Interface types
<li>
Slice types
<li>
Map types
<li>
Channel types
<li>
Type equality
</ul>
<li>
Expressions
<ul>
<li>
Operands
<ul>
<li>
Constants
<li>
Qualified identifiers
<li>
Composite literals
<li>
Function literals
</ul>
<li>
Primary expressions
<ul>
<li>
Selectors
<li>
Indexes
<li>
Slices
<li>
Type guards
<li>
Calls
<ul>
<li>
Parameter passing
</ul>
</ul>
<li>
Operators
<ul>
<li>
Arithmetic operators
<ul>
<li>
Integer overflow
</ul>
<li>
Comparison operators
<li>
Logical operators
<li>
Address operators
<li>
Communication operators
</ul>
<li>
Constant expressions
</ul>
<li>
Statements
<ul>
<li>
Label declarations
<li>
Expression statements
<li>
IncDec statements
<li>
Assignments
<li>
If statements
<li>
Switch statements
<li>
For statements
<li>
Go statements
<li>
Select statements
<li>
Return statements
<li>
Break statements
<li>
Continue statements
<li>
Label declaration
<li>
Goto statements
<li>
Defer statements
</ul>
<li>
Function declarations
<ul>
<li>
Method declarations
<li>
Predeclared functions
<ul>
<li>
Length and capacity
<li>
Conversions
<li>
Allocation
<li>
Making slices, maps, and channels
</ul>
</ul>
<li>
Packages
<li>
Program initialization and execution
<li>
Systems considerations
<ul>
<li>
Package unsafe
<li>
Size and alignment guarantees
</ul>
</ul>
<hr>
<h2>
Introduction
</h2>
<p>
...
...
@@ -301,7 +156,7 @@ compile/link model to generate executable binaries.
The grammar is compact and regular, allowing for easy analysis by
automatic tools such as integrated development environments.
</p>
<hr>
<h2>
Notation
</h2>
<p>
The syntax is specified using Extended Backus-Naur Form (EBNF):
...
...
@@ -344,6 +199,7 @@ The form <tt>"a ... b"</tt> represents the set of characters from
Where possible, recursive productions are used to express evaluation order
and operator precedence syntactically.
</p>
<hr>
<h2>
Source code representation
</h2>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment