The Go Programming Language Phrasebook
David Chisnall
The Go Programming Language Phrasebook
David Chisnall
- Producent: Addison Wesley Publishing Company
- Rok produkcji: 2012
- ISBN: 9780321817143
- Ilość stron: 288
- Oprawa: Miękka
Niedostępna
Opis: The Go Programming Language Phrasebook - David Chisnall
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 125 Error Delegates 127 9 Goroutines 131 Creating Goroutines 131 Synchronizing Goroutines 134 Waiting for a Condition 137 Performing Thread-Safe Initialization 140 Performing Actions in the Background 142 Communicating Via Channels 144 Using Multiple Channels 148 10 Concurrency Design Patterns 151 Timing Out Connections 152 Aliased xor Mutable 154 Share Memory by Communicating 156 Transactions by Sharing Channels 159 Concurrent Objects 162 Implementing Futures in Go 164 Coalescing Events 166 Map Reduce, Go Style 168 11 Dates and Times 175 Finding the Current Date 176 Converting Dates for Display 177 Parsing Dates from Strings 179 Calculating Elapsed Time 180 Receiving Timer Events 181 12 Accessing Files and the Environment 183 Manipulating Paths 184 Reading a File 186 Reading One Line at a Time 188 Determining if a File or Directory Exists 190 Checking Environment Variables 192 13 Network Access 195 Connecting to Servers 196 Distributing Go 199 Serving Objects 204 Calling Remote Procedures 206 14 Web Applications 207 Integrating with a Web Server 208 Connecting to Web Servers 211 Parsing HTML 213 Generating HTML 216 15 Interacting with the Go Runtime 219 Finding the Type of a Variable 220 Finalizing Structures 223 Copying Arbitrary Types 226 Constructing Function Calls 228 Calling C Functions 230 16 Distributing Go Code 233 Installing Third-Party Packages 234 Creating Packages 236 Documenting Your Code 240 Staying Up to Date 241 17 Debugging Go 243 Using a Debugger 243 Misunderstanding Memory Ordering 247 Spotting Concurrency Bugs 249 Restricting Behavior 252 Building Unit Tests 257 Index 259
Szczegóły: The Go Programming Language Phrasebook - David Chisnall
Tytuł: The Go Programming Language Phrasebook
Autor: David Chisnall
Producent: Addison Wesley Publishing Company
ISBN: 9780321817143
Rok produkcji: 2012
Ilość stron: 288
Oprawa: Miękka
Waga: 0.23 kg