Chapter 1 Intro
1.1 Schedule of the day
1.2 Objectives
1.2.1 Knowledge
1.2.2 Skills
1.2.3 Attitudes
Chapter 2 Basic concepts
2.1 Packages and imports
2.2 Exported names
2.3 Functions, signature, return values, named results
2.3.1 Resources
2.4 Variables / inferred typing, short assignment
2.5 Basic types
2.6 Type conversion
2.7 Constants
2.8 For Loop
2.9 If statement
2.10 Exercise: Loops and Functions
2.11 Structs
2.12 Pointers
2.13 Initializing
2.13.1 Resources
2.14 Arrays
2.14.1 Printing arrays
2.14.2 Multi-dimensional arrays
2.15 Slices
2.15.1 Slicing a slice
2.15.2 Making slices
2.15.3 Appending to a slice
2.15.4 Length
2.15.5 Nil slices
2.15.6 Resources
2.16 Range
2.16.1 Break & continue
2.16.2 Range and maps
2.17 Exercise: Slice
2.17.1 Solution
2.18 Maps
2.18.1 Mutating maps
2.18.2 Resources
2.19 Exercise: Map
2.19.1 Solution
Chapter 3 Methods and interfaces
3.1 Methods
3.1.1 Code organization
3.1.2 Type aliasing
3.1.3 Method receivers
3.2 Interfaces
3.2.1 Interfaces are satisfied implicitly
3.3 Composition vs inheritance
3.4 Errors
3.5 Exercise: Errors
3.5.1 Solution
Chapter 4 Concurrency
4.1 Goroutines
4.2 Channels
4.2.1 Buffered channels
4.3 Range and close
4.4 Select
4.4.1 Default case
4.4.2 Timeout
4.5 Exercise: Equivalent Binary Trees
4.5.1 Solution
Chapter 5 Get Setup
5.1 OS X
5.1.1 Setup your paths
5.1.2 Install mercurial and bazaar
5.2 Windows
5.3 Linux
5.4 Extras
Chapter 6 Get Your Feet Wet
Chapter 7 Tips and Tricks
7.1 140 char tips
7.2 goimports
7.3 Organization
7.3.1 Custom Constructors
7.3.2 Breaking down code in packages
7.4 Dependency package management
7.5 Using errors
7.6 Return statements and conditions
7.7 Expvar
7.8 Set the build id using git’s SHA
7.9 How to see what packages my app imports
7.10 Web resources
Chapter 8 Exercises
· · · · · · (
收起)