FREE SHIPPING BOTH WAYS
ON EVERY ORDER!
LIST PRICE:
$29.99

OUR PRICE:
$23.75

You may extend rentals at any time.


The Go Programming Language Phrasebook

ISBN: 9780321817143 | 0321817141
Edition: 1st
Format: Paperback
Publisher: Addison-Wesley Professional
Pub. Date: 4/30/2012

Why Rent from Knetbooks?

Because Knetbooks knows college students. Our rental program is designed to save you time and money. Whether you need a textbook for a semester, quarter or even a summer session, we have an option for you. Simply select a rental period, enter your information and your book will be on its way!

Top 5 reasons to order all your textbooks from Knetbooks:

  • We have the lowest prices on thousands of popular textbooks
  • Free shipping both ways on ALL orders
  • Most orders ship within 48 hours
  • Need your book longer than expected? Extending your rental is simple
  • Our customer support team is always here to help
SummaryTable of ContentsAuthor Biography
This book introduces the new Go programming language. Coverage begins with an introduction to the history and philosophy of the language, helping you to understand the reasons for various parts of the syntax and semantics. You will then learn about the design patterns for writing scalable code in Go and have a guided tour of the standard library. Go is a language designed from the ground up for writing fast, concurrent code, incorporating features features from both high and low-level languages. This is useful in a variety of situations, and es... MORE

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

Und... MORE

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

David Chisnall is author of Objective-C Phrasebook, Second Edition. He is an active contributor to the GNUstep project and cofounded the Étoilé project to build a desktop environment atop GNUstep. Chisnall has written several articles for informIT.com including a three-part series on Go for Objective-C Programmers.



Please wait while this item is added to your cart...