The Go Programming Language 1st Edition by Alan Donovan, Brian Kernighan – Ebook PDF Instant Download/Delivery: 0134190440, 9780134190440
Full download The Go Programming Language 1st Edition after payment
Product details:
ISBN 10: 0134190440
ISBN 13: 9780134190440
Author: Alan A. A. Donovan; Brian W. Kernighan
The Go Programming Language is the authoritative resource for any programmer who wants to learn Go. It shows how to write clear and idiomatic Go to solve real-world problems. The book does not assume prior knowledge of Go nor experience with any specific language, so you’ll find it accessible whether you’re most comfortable with JavaScript, Ruby, Python, Java, or C++. The first chapter is a tutorial on the basic concepts of Go, introduced through programs for file I/O and text processing, simple graphics, and web clients and servers. Early chapters cover the structural elements of Go programs: syntax, control flow, data types, and the organization of a program into packages, files, and functions. The examples illustrate many packages from the standard library and show how to create new ones of your own. Later chapters explain the package mechanism in more detail, and how to build, test, and maintain projects using the go tool. The chapters on methods and interfaces introduce Go’s unconventional approach to object-oriented programming, in which methods can be declared on any type and interfaces are implicitly satisfied. They explain the key principles of encapsulation, composition, and substitutability using realistic examples. Two chapters on concurrency present in-depth approaches to this increasingly important topic. The first, which covers the basic mechanisms of goroutines and channels, illustrates the style known as communicating sequential processes for which Go is renowned. The second covers more traditional aspects of concurrency with shared variables. These chapters provide a solid foundation for programmers encountering concurrency for the first time. The final two chapters explore lower-level features of Go. One covers the art of metaprogramming using reflection. The other shows how to use the unsafe package to step outside the type system for special situations, and how to use the cgo tool to create Go bindings for C libraries. The book features hundreds of interesting and practical examples of well-written Go code that cover the whole language, its most important packages, and a wide range of applications. Each chapter has exercises to test your understanding and explore extensions and alternatives. Source code is freely available for download from http://gopl.io/ and may be conveniently fetched, built, and installed using the go get command.
The Go Programming Language 1st Table of contents:
1. Tutorial
1.1. Hello, World
1.2. Command-Line Arguments
1.3. Finding Duplicate Lines
1.4. Animated GIFs
1.5. Fetching a URL
1.6. Fetching URLs Concurrently
1.7. A Web Server
1.8. Loose Ends
2. Program Structure
2.1. Names
2.2. Declarations
2.3. Variables
2.4. Assignments
2.5. Type Declarations
2.6. Packages and Files
2.7. Scope
3. Basic Data Types
3.1. Integers
3.2. Floating-Point Numbers
3.3. Complex Numbers
3.4. Booleans
3.5. Strings
3.6. Constants
4. Composite Types
4.1. Arrays
4.2. Slices
4.3. Maps
4.4. Structs
4.5. JSON
4.6. Text and HTML Templates
5. Functions
5.1. Function Declarations
5.2. Recursion
5.3. Multiple Return Values
5.4. Errors
5.5. Function Values
5.6. Anonymous Functions
5.7. Variadic Functions
5.8. Deferred Function Calls
5.9. Panic
5.10. Recover
6. Methods
6.1. Method Declarations
6.2. Methods with a Pointer Receiver
6.3. Composing Types by Struct Embedding
6.4. Method Values and Expressions
6.5. Example: Bit Vector Type
6.6. Encapsulation
7. Interfaces
7.1. Interfaces as Contracts
7.2. Interface Types
7.3. Interface Satisfaction
7.4. Parsing Flags with flag. Value
7.5. Interface Values
7.6. Sorting with sort. Interface
7.7. The http. Handler Interface
7.8. The error Interface
7.9. Example: Expression Evaluator
7.10. Type Assertions
7.11. Discriminating Errors with Type Assertions
7.12. Querying Behaviors with Interface Type Assertions
7.13. Type Switches
7.14. Example: Token-Based XML Decoding
7.15. A Few Words of Advice
8. Goroutines and Channels
8.1. Goroutines
8.2. Example: Concurrent Clock Server
8.3. Example: Concurrent Echo Server
8.4. Channels
8.5. Looping in Paralle
8.6. Example: Concurrent Web Crawler
8.7. Multiplexing with select
8.8. Example: Concurrent Directory Traversal
8.9. Cancellation
8.10. Example: Chat Server
9. Concurrency with Shared Variables
9.1. Race Conditions
9.2. Mutual Exclusion: sync. Mutex
9.3. Read/Write Mutexes: sync. RWMutex
9.4. Memory Synchronization
9.5. Lazy Initialization: sync.Once
9.6. The Race Detector
9.7. Example: Concurrent Non-Blocking Cache
9.8. Goroutinesand Threads
10. Packages and the Go Tool
10.1. Introduction
10.2. Import Paths
10.3. The Package Declaration
10.4. Import Declarations
10.5. Blank Imports
10.6. Packages and Naming
10.7. The Go Tool
11. Testing
11.1. The go test Tool
11.2. Test Functions
11.3. Coverage
11.4. Benchmark Functions
11.5. Profiling
11.6. Example Functions
12. Reflection
12.1. Why Reflection?
12.2. reflect. Type and reflect. Value
12.3. Display, a Recursive Value Printer
12.4. Example: Encoding S-Expressions
12.5. Setting Variables with reflect.Value
12.6. Example: Decoding S-Expressions
12.7. Accessing Struct Field Tags
12.8. Displaying the Methods of a Type
12.9. A Word of Caution
13. Low-Level Programming
13.1. unsafe. Sizeof, Alignof,and Offsetof
13.2. unsafe. Pointer
13.3. Example: Deep Equivalence
13.4. Calling C Code with cgo
13.5. Another Word of Caution
People also search for The Go Programming Language 1st:
is go programming language worth learning
when was go programming language created
is go programming language dead
what is go programming language good for
Reviews
There are no reviews yet.