Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword or section
Like this
1Activity
P. 1
Learning GO 0.1

Learning GO 0.1

Ratings: (0)|Views: 31|Likes:
Published by alexanderae

More info:

Published by: alexanderae on Aug 18, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

10/29/2011

pdf

text

original

 
Learning Go
 Authors:
Miek Gieben
Thanks to:
Go authorsGoogleGo Nuts mailing list
THIS IS A WORK IN PROGRESS
This work is licensed under the
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License
.Version: 0.1 (August 16, 2010)
 
Go is fun!
 
Table of Contents
1 Introduction
vi
Official documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiGetting Go . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiOnline documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiiOrigins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiiExercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ixAnswers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
2 Basics
1
Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Compiling and running code . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Variables, types and keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Operators and built-in functions . . . . . . . . . . . . . . . . . . . . . . . . . . 6Go keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Control structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Arrays, slices and maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3 Functions
18
Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Multiple return values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Named result parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Deferred code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Variadic parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Functions as values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Panic and recovering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4 Packages
32
Building a package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Documenting packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Testing packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Advanced importing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Useful packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5 Beyond the basics
42
Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Defining your own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Interface names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->