mirror of
https://github.com/golang/go
synced 2024-11-21 15:54:43 -07:00
tutorial: remove all line numbers and references to them.
R=golang-dev, mikioh.mikioh, dsymonds CC=golang-dev https://golang.org/cl/4675070
This commit is contained in:
parent
ab3365d34e
commit
c17347eea9
@ -19,9 +19,6 @@ The presentation here proceeds through a series of modest programs to illustrate
|
||||
key features of the language. All the programs work (at time of writing) and are
|
||||
checked into the repository in the directory <a href='/doc/progs'><code>/doc/progs/</code></a>.
|
||||
<p>
|
||||
Program snippets are annotated with the line number in the original file; for
|
||||
cleanliness, blank lines remain blank.
|
||||
<p>
|
||||
<h2>Hello, World</h2>
|
||||
<p>
|
||||
Let's start in the usual way:
|
||||
@ -176,12 +173,13 @@ a naming conflict.
|
||||
<p>
|
||||
Given <code>os.Stdout</code> we can use its <code>WriteString</code> method to print the string.
|
||||
<p>
|
||||
Having imported the <code>flag</code> package, line 12 creates a global variable to hold
|
||||
the value of echo's <code>-n</code> flag. The variable <code>omitNewline</code> has type <code>*bool</code>, pointer
|
||||
to <code>bool</code>.
|
||||
After importing the <code>flag</code> package, we use a <code>var</code> declaration
|
||||
to create and initialize a global variable, called <code>omitNewline</code>,
|
||||
to hold the value of echo's <code>-n</code> flag.
|
||||
The variable has type <code>*bool</code>, pointer to <code>bool</code>.
|
||||
<p>
|
||||
In <code>main.main</code>, we parse the arguments (line 20) and then create a local
|
||||
string variable we will use to build the output.
|
||||
In <code>main.main</code>, we parse the arguments (the call to <code>flag.Parse</code>) and then create a local
|
||||
string variable with which to build the output.
|
||||
<p>
|
||||
The declaration statement has the form
|
||||
<p>
|
||||
@ -261,7 +259,9 @@ reassigning it. This snippet from <code>strings.go</code> is legal code:
|
||||
<p>
|
||||
<pre><!-- progs/strings.go /hello/ /ciao/
|
||||
--> s := "hello"
|
||||
if s[1] != 'e' { os.Exit(1) }
|
||||
if s[1] != 'e' {
|
||||
os.Exit(1)
|
||||
}
|
||||
s = "good bye"
|
||||
var p *string = &s
|
||||
*p = "ciao"
|
||||
@ -540,7 +540,7 @@ return n
|
||||
</pre>
|
||||
<p>
|
||||
but for simple structures like <code>File</code> it's easier to return the address of a
|
||||
composite literal, as is done here on line 21.
|
||||
composite literal, as is done here in the <code>return</code> statement from <code>newFile</code>.
|
||||
<p>
|
||||
We can use the factory to construct some familiar, exported variables of type <code>*File</code>:
|
||||
<p>
|
||||
@ -573,9 +573,9 @@ multi-value return as a parenthesized list of declarations; syntactically
|
||||
they look just like a second parameter list. The function
|
||||
<code>syscall.Open</code>
|
||||
also has a multi-value return, which we can grab with the multi-variable
|
||||
declaration on line 31; it declares <code>r</code> and <code>e</code> to hold the two values,
|
||||
declaration on the first line; it declares <code>r</code> and <code>e</code> to hold the two values,
|
||||
both of type <code>int</code> (although you'd have to look at the <code>syscall</code> package
|
||||
to see that). Finally, line 35 returns two values: a pointer to the new <code>File</code>
|
||||
to see that). Finally, <code>OpenFile</code> returns two values: a pointer to the new <code>File</code>
|
||||
and the error. If <code>syscall.Open</code> fails, the file descriptor <code>r</code> will
|
||||
be negative and <code>newFile</code> will return <code>nil</code>.
|
||||
<p>
|
||||
|
@ -20,9 +20,6 @@ The presentation here proceeds through a series of modest programs to illustrate
|
||||
key features of the language. All the programs work (at time of writing) and are
|
||||
checked into the repository in the directory <a href='/doc/progs'>"/doc/progs/"</a>.
|
||||
|
||||
Program snippets are annotated with the line number in the original file; for
|
||||
cleanliness, blank lines remain blank.
|
||||
|
||||
Hello, World
|
||||
----
|
||||
|
||||
@ -136,12 +133,13 @@ a naming conflict.
|
||||
|
||||
Given "os.Stdout" we can use its "WriteString" method to print the string.
|
||||
|
||||
Having imported the "flag" package, line 12 creates a global variable to hold
|
||||
the value of echo's "-n" flag. The variable "omitNewline" has type "*bool", pointer
|
||||
to "bool".
|
||||
After importing the "flag" package, we use a "var" declaration
|
||||
to create and initialize a global variable, called "omitNewline",
|
||||
to hold the value of echo's "-n" flag.
|
||||
The variable has type "*bool", pointer to "bool".
|
||||
|
||||
In "main.main", we parse the arguments (line 20) and then create a local
|
||||
string variable we will use to build the output.
|
||||
In "main.main", we parse the arguments (the call to "flag.Parse") and then create a local
|
||||
string variable with which to build the output.
|
||||
|
||||
The declaration statement has the form
|
||||
|
||||
@ -429,7 +427,7 @@ object. We could write
|
||||
return n
|
||||
|
||||
but for simple structures like "File" it's easier to return the address of a
|
||||
composite literal, as is done here on line 21.
|
||||
composite literal, as is done here in the "return" statement from "newFile".
|
||||
|
||||
We can use the factory to construct some familiar, exported variables of type "*File":
|
||||
|
||||
@ -447,9 +445,9 @@ multi-value return as a parenthesized list of declarations; syntactically
|
||||
they look just like a second parameter list. The function
|
||||
"syscall.Open"
|
||||
also has a multi-value return, which we can grab with the multi-variable
|
||||
declaration on line 31; it declares "r" and "e" to hold the two values,
|
||||
declaration on the first line; it declares "r" and "e" to hold the two values,
|
||||
both of type "int" (although you'd have to look at the "syscall" package
|
||||
to see that). Finally, line 35 returns two values: a pointer to the new "File"
|
||||
to see that). Finally, "OpenFile" returns two values: a pointer to the new "File"
|
||||
and the error. If "syscall.Open" fails, the file descriptor "r" will
|
||||
be negative and "newFile" will return "nil".
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user