SPECIAL OFFERS
Keep up with new releases and promotions. Sign up to hear from us.
Rough Cuts are manuscripts that are developed but not yet published, available through Safari. Rough Cuts provide you access to the very latest information on a given topic and offer you the opportunity to interact with the author to influence the final publication.
This is the Rough Cut version of the printed book.
The Go Programming Language Phrasebook
Essential Go code and idioms for all facets of the development process
This guide gives you the code “phrases” you need to quickly and effectively complete a wide variety of projects with Go, today’s most exciting new programming language.
Tested, easy-to-adapt code examples illuminate every step of Go development, helping you write highly scalable, concurrent software. You’ll master Go-specific idioms for working with strings, collections, arrays, error handling, goroutines, slices, maps, channels, numbers, dates, times, files, networking, web apps, the runtime, and more.
Concise and Accessible
Easy to carry and easy to use: Ditch all those bulky books for one portable pocket guide
Flexible and Functional
Packed with more than 100 customizable code snippets: Quickly create solid Go code to solve just about any problem
Register your book at informit.com/register for convenient access to downloads, updates, and corrections as they become available.
1 Introducing Go 1
Go and C 1
Why Go? 4
Goroutines and Channels 7
Selecting a Compiler 10
Creating a Simple Go Program 13
The Go Type System 14
Understanding the Memory Model 16
2 A Go Primer 21
The Structure of a Go Source File 23
Declaring Variables 26
Declaring Functions 29
Looping in Go 32
Creating Enumerations 35
Declaring Structures 37
Defining Methods 39
Implementing Interfaces 42
Casting Types 47
3 Numbers 51
Converting Between Strings and Numbers 52
Using Large Integers 54
Converting Between Numbers and Pointers 56
4 Common Go Patterns 61
Zero Initialization 62
Generic Data Structures 67
Specialized Generic Data Structures 69
Implementation Hiding 72
Type Embedding 75
5 Arrays and Slices 79
Creating Arrays 81
Slicing Arrays 83
Resizing Slices 85
Truncating Slices 87
Iterating Over Arrays 88
6 Manipulating Strings 91
Comparing Strings 92
Processing a String One Character at a Time 94
Processing a Partial String 96
Splitting and Trimming Strings 98
Copying Strings 102
Creating Strings from Patterns 102
Matching Patterns in Strings 104
7 Working with Collections 107
Creating a Map 108
Storing Unordered Groups of Objects 111
Using Lists 112
Defining New Collections 114
8 Handling Errors 117
Deferring Cleanup 118
Panicking and Recovering 121
Returning Error Values