2015-12-09 07:45:11 +00:00
|
|
|
# 項目進度
|
|
|
|
|
|
|
|
- [x] Preface
|
|
|
|
- [x] Chapter 1: Tutorial
|
|
|
|
- [x] 1.1 Hello, World
|
|
|
|
- [x] 1.2 Command-Line Arguments
|
|
|
|
- [x] 1.3 Finding Duplicate Lines
|
|
|
|
- [x] 1.4 Animated GIFs
|
|
|
|
- [x] 1.5 Fetching a URL
|
|
|
|
- [x] 1.6 Fetching URLs Concurrently
|
|
|
|
- [x] 1.7 A Web Server
|
|
|
|
- [x] 1.8 Loose Ends
|
|
|
|
- [x] Chapter 2: Program Structure
|
|
|
|
- [x] 2.1 Names
|
|
|
|
- [x] 2.2 Declarations
|
|
|
|
- [x] 2.3 Variables
|
|
|
|
- [x] 2.4 Assignments
|
|
|
|
- [x] 2.5 Type Declarations
|
|
|
|
- [x] 2.6 Packages and Files
|
|
|
|
- [x] 2.7 Scope
|
|
|
|
- [x] Chapter 3: Basic Data Types
|
2015-12-20 06:56:42 +00:00
|
|
|
- [x] 3.1 Integers
|
2015-12-20 15:12:44 +00:00
|
|
|
- [x] 3.2 Floating-Point Numbers
|
2015-12-18 13:31:44 +00:00
|
|
|
- [x] 3.3 Complex Numbers
|
2015-12-16 06:29:21 +00:00
|
|
|
- [x] 3.4 Booleans
|
2015-12-18 10:06:18 +00:00
|
|
|
- [x] 3.5 Strings
|
2015-12-21 04:32:49 +00:00
|
|
|
- [x] 3.6 Constants
|
2015-12-28 04:32:10 +00:00
|
|
|
- [x] Chapter 4: Composite Types
|
2015-12-28 06:37:29 +00:00
|
|
|
- [x] 4.1 Arrays
|
2015-12-29 03:23:02 +00:00
|
|
|
- [x] 4.2 Slices
|
2015-12-29 13:10:04 +00:00
|
|
|
- [x] 4.3 Maps
|
2015-12-31 02:15:09 +00:00
|
|
|
- [x] 4.4 Structs
|
2015-12-31 06:33:46 +00:00
|
|
|
- [x] 4.5 JSON
|
2015-12-31 08:17:27 +00:00
|
|
|
- [x] 4.6 Text and HTML Templates
|
2015-12-31 12:26:40 +00:00
|
|
|
- [x] Chapter 5: Functions
|
|
|
|
- [x] 5.1 Function Declarations
|
2016-01-02 13:26:31 +00:00
|
|
|
- [x] 5.2 Recursion
|
2015-12-09 07:45:11 +00:00
|
|
|
- [ ] 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
|
|
|
|
- [x] Chapter 6: Methods
|
|
|
|
- [x] 6.1 Method Declarations
|
|
|
|
- [x] 6.2 Methods with a Pointer Receiver
|
|
|
|
- [x] 6.3 Composing Types by Struct Embedding
|
|
|
|
- [x] 6.4 Method Values and Expressions
|
|
|
|
- [x] 6.5 Example: Bit Vector Type
|
|
|
|
- [x] 6.6 Encapsulation
|
|
|
|
- [x] Chapter 7: Interfaces
|
|
|
|
- [x] 7.1 Interfaces as Contracts
|
2015-12-31 08:48:16 +00:00
|
|
|
- [x] 7.2 Interface Types
|
2015-12-09 07:45:11 +00:00
|
|
|
- [ ] 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
|
|
|
|
- [x] Chapter 8: Goroutines and Channels
|
|
|
|
- [x] 8.1 Goroutines
|
|
|
|
- [x] 8.2 Example: Concurrent Clock Server
|
2015-12-29 05:58:37 +00:00
|
|
|
- [x] 8.3 Example: Concu rent Echo Server
|
2015-12-09 07:45:11 +00:00
|
|
|
- [ ] 8.4 Channels
|
2016-01-03 01:00:25 +00:00
|
|
|
- [x] 8.5 Looping in Parallel
|
2015-12-10 02:54:44 +00:00
|
|
|
- [x] 8.6 Example: Concurrent Web Crawler
|
2015-12-31 03:33:47 +00:00
|
|
|
- [x] 8.7 Multiplexing with select
|
2015-12-11 07:53:00 +00:00
|
|
|
- [x] 8.8 Example: Concurrent Directory Traversal
|
2015-12-14 03:29:14 +00:00
|
|
|
- [x] 8.9 Cancellation
|
2015-12-21 06:37:04 +00:00
|
|
|
- [x] 8.10 Example: Chat Server
|
2015-12-31 14:24:27 +00:00
|
|
|
- [x] Chapter 9: Concurrency with Shared Variables
|
2015-12-09 07:45:11 +00:00
|
|
|
- [ ] 9.1 Race Conditions
|
|
|
|
- [ ] 9.2 Mutual Exclusion: sync.Mutex
|
2016-01-02 00:55:39 +00:00
|
|
|
- [x] 9.3 Read/Write Mutexes: sync.RWMutex
|
2015-12-09 07:45:11 +00:00
|
|
|
- [ ] 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
|
|
|
|
- [x] Chapter 10: Packages and the Go Tool
|
|
|
|
- [x] 10.1 Introduction
|
|
|
|
- [x] 10.2 Import Paths
|
|
|
|
- [x] 10.3 The Package Declaration
|
|
|
|
- [x] 10.4 Import Declarations
|
|
|
|
- [x] 10.5 Blank Imports
|
|
|
|
- [x] 10.6 Packages and Naming
|
|
|
|
- [x] 10.7 The Go Tool
|
|
|
|
- [x] Chapter 11: Testing
|
|
|
|
- [x] 11.1 The go test Tool
|
2015-12-16 02:50:22 +00:00
|
|
|
- [x] 11.2 Test Functions
|
2015-12-11 09:07:47 +00:00
|
|
|
- [x] 11.3 Coverage
|
2015-12-14 03:29:14 +00:00
|
|
|
- [x] 11.4 Benchmark Functions
|
2015-12-10 13:41:14 +00:00
|
|
|
- [x] 11.5 Profiling
|
2015-12-09 07:45:11 +00:00
|
|
|
- [x] 11.6 Example Functions
|
2015-12-13 04:01:00 +00:00
|
|
|
- [x] Chapter 12: Reflection
|
2015-12-13 04:26:54 +00:00
|
|
|
- [x] 12.1 Why Reflection?
|
2015-12-13 11:12:07 +00:00
|
|
|
- [x] 12.2 reflect.Type and reflect.Value
|
2015-12-31 14:24:27 +00:00
|
|
|
- [x] 12.3 Display, a Recursive Value Printer
|
2016-01-01 03:47:42 +00:00
|
|
|
- [x] 12.4 Example: Encoding S-Expressions
|
2016-01-01 06:49:56 +00:00
|
|
|
- [x] 12.5 Setting Variables with reflect.Value
|
2016-01-02 03:36:11 +00:00
|
|
|
- [x] 12.6 Example: Decoding S-Expressions
|
2016-01-02 07:58:19 +00:00
|
|
|
- [x] 12.7 Accessing Struct Field Tags
|
2015-12-31 14:38:26 +00:00
|
|
|
- [x] 12.8 Displaying the Methods of a Type
|
2016-01-01 07:32:45 +00:00
|
|
|
- [x] 12.9 A Word of Caution
|
2015-12-09 07:45:11 +00:00
|
|
|
- [x] Chapter 13: Low-Level Programming
|
|
|
|
- [x] 13.1 unsafe.Sizeof, Alignof, and Offsetof
|
|
|
|
- [x] 13.2 unsafe.Pointer
|
|
|
|
- [x] 13.3 Example: Deep Equivalence
|
|
|
|
- [x] 13.4 Calling C Code with cgo
|
|
|
|
- [x] 13.5 Another Word of Caution
|
|
|
|
- [ ] Errata
|