The Go Programming Language(英文版)
英文书名:The Go Programming Language简介
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++.目录
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 Parallel
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.Goroutines and 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.Blanklmports
10.6.Packages and Naming
10.7.The Go Tool
Il.Testing
11.1.The go test Tool
11.2.Test Functions
11.3.Coverage
11.4.Benchmark Functions
11.5.Pro ling
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 ofa 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
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码`
- 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传