Commit 708d7160 authored by Rob Pike's avatar Rob Pike

tutorial: show how to compile helloworld3, which depends on ./file

make shell prompts consistent

R=rsc
CC=golang-dev
https://golang.org/cl/1824042
parent 47b835e4
......@@ -650,20 +650,22 @@ We can now use our new package:
21 }
</pre>
<p>
The ''<code>./</code>'' in the import of ''<code>./file</code>'' tells the
compiler to use the ''<code>file</code>'' package in the current directory
rather than something from the directory of installed packages.
</p>
The ''<code>./</code>'' in the import of ''<code>./file</code>'' tells the compiler
to use our own package rather than
something from the directory of installed packages.
(Also, ''<code>file.go</code>'' must be compiled before we can import the
package.)
<p>
You must compile ''<code>file.go</code>'' before any package that imports it.
<p>
Finally we can run the program:
Now we can compile and run the program:
<p>
<pre>
% helloworld3
$ 6g file.go # compile file package
$ 6g helloworld3.go # compile main package
$ 6l -o helloworld3 helloworld3.6 # link - no need to mention "file"
$ helloworld3
hello, world
can't open file; err=No such file or directory
%
$
</pre>
<p>
<h2>Rotting cats</h2>
......@@ -827,11 +829,11 @@ even though under the covers it holds a pointer to a <code>struct</code>.
Here it is in action:
<p>
<pre>
% echo abcdefghijklmnopqrstuvwxyz | ./cat
$ echo abcdefghijklmnopqrstuvwxyz | ./cat
abcdefghijklmnopqrstuvwxyz
% echo abcdefghijklmnopqrstuvwxyz | ./cat --rot13
$ echo abcdefghijklmnopqrstuvwxyz | ./cat --rot13
nopqrstuvwxyzabcdefghijklm
%
$
</pre>
<p>
Fans of dependency injection may take cheer from how easily interfaces
......
......@@ -471,15 +471,21 @@ We can now use our new package:
--PROG progs/helloworld3.go /package/ END
The ''"./"'' in the import of ''"./file"'' tells the compiler to use our own package rather than
The ''"./"'' in the import of ''"./file"'' tells the compiler
to use our own package rather than
something from the directory of installed packages.
(Also, ''"file.go"'' must be compiled before we can import the
package.)
Finally we can run the program:
Now we can compile and run the program:
% helloworld3
$ 6g file.go # compile file package
$ 6g helloworld3.go # compile main package
$ 6l -o helloworld3 helloworld3.6 # link - no need to mention "file"
$ helloworld3
hello, world
can't open file; err=No such file or directory
%
$
Rotting cats
----
......@@ -549,11 +555,11 @@ even though under the covers it holds a pointer to a "struct".
Here it is in action:
<pre>
% echo abcdefghijklmnopqrstuvwxyz | ./cat
$ echo abcdefghijklmnopqrstuvwxyz | ./cat
abcdefghijklmnopqrstuvwxyz
% echo abcdefghijklmnopqrstuvwxyz | ./cat --rot13
$ echo abcdefghijklmnopqrstuvwxyz | ./cat --rot13
nopqrstuvwxyzabcdefghijklm
%
$
</pre>
Fans of dependency injection may take cheer from how easily interfaces
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment