Go Fundamentals: Gopher Guides, 1st edition
BRAND: PEARSON
Publisher: | Addison-Wesley Professional |
Author: | Mark Bates; Cory LaNou |
Edition: | (November 16, 2022) © 2023 |
eBook ISBN: | 9780137918331 |
Print ISBN: | 9780137918300 |
Type: | 1 Year Subscription. Dành cho Cá nhân |
eBook edition. 1 Year Subscription. Dành cho Cá nhân | Trường ĐH, Nhóm, Thư Viện: Gọi 0915920514 để báo giá Pearson, Vital Source eBook hoặc mua Sách In
See what in the box
Mô tả sản phẩm
Hàng nghìn nhà phát triển và nhóm muốn bắt đầu tận dụng Go, ngôn ngữ mạnh mẽ được sử dụng trong các dự án từ Kubernetes đến Docker và Vault. Go Fundamentals được thiết kế đặc biệt để giúp bạn bắt kịp tốc độ nhanh chóng, tận dụng kiến thức hiện có của bạn và giúp bạn tránh những lỗi phổ biến mà những người mới chơi Go thường mắc phải. Dựa trên chương trình đào tạo Gopher Guides tiên phong của tác giả, nó sẽ giúp bạn:
Nhanh chóng hiểu, đọc và sử dụng cú pháp Go
Làm việc hiệu quả với các kiểu bộ sưu tập, phép lặp, hàm, cấu trúc và con trỏ
Hiểu nội bộ của Go Slices và tìm hiểu cách sử dụng chúng đúng cách
Viết thành ngữ Sử dụng các nguyên tắc cốt lõi như nhúng và giao diện
Đạt được sự hiểu biết sâu sắc về tính đồng thời của Go, để viết mã mạnh mẽ hơn, hoạt động tốt hơn
Tạo các bài kiểm tra thích hợp, bao gồm kiểm tra bảng, để nhanh chóng xác định và khắc phục sự cố
Tận dụng các kênh, bối cảnh, khái quát, tạo khuôn mẫu và các tính năng phức tạp khác
Xây dựng ứng dụng web với HTTP và HTML, v.v.
Covers Go 1.18 và Generics
Foreword xxi
Preface xxiii
Acknowledgments xxxi
About the Authors xxxv
Chapter 1: Modules, Packages, and Dependencies 1
Modules 1
Packages 4
Folders, Files, and Organization 6
Importing Packages and Modules 13
Dependencies 16
Summary 25
Chapter 2: Go Language Basics 27
Go Language Overview 27
Numbers 31
Strings 35
UTF-8 37
Variables 40
Constants 48
Naming Identifiers 51
Printing and Formatting 57
Summary 75
Chapter 3: Arrays, Slices, and Iteration 77
List Types: Arrays and Slices 77
How Slices Work 90
Iteration 104
Summary 110
Chapter 4: Maps and Control Structures 111
Maps 111
If Statements 129
Switch Statements 135
Summary 140
Chapter 5: Functions 141
Function Definitions 141
Variadic Arguments 151
Deferring Function Calls 156
Init 162
Summary 166
Chapter 6: Structs, Methods, and Pointers 167
Structs 167
Methods 176
Pointers 182
Nil Receivers 191
Summary 193
Chapter 7: Testing 195
Testing Basics 195
Code Coverage 202
Table Driven Testing 206
Running Tests 213
Test Helpers 222
Summary 229
Chapter 8: Interfaces 231
Concrete Types versus Interfaces 231
Explicit Interface Implementation 233
Implicit Interface Implementation 234
Before Interfaces 235
Using Interfaces 237
Implementing io.Writer 239
Multiple Interfaces 241
Asserting Interface Implementation 241
The Empty Interface 242
Defining Interfaces 243
Embedding Interfaces 249
Type Assertion 250
Assertions through Switch 252
Using Assertions 255
Summary 257
Chapter 9: Errors 259
Errors as Values 259
Panic 264
Don't Panic 273
Custom Errors 289
Wrapping and Unwrapping Errors 294
Errors As/Is 301
Stack Traces 307
Summary 309
Chapter 10: Generics 311
What Are Generics? 311
Summary 334
Chapter 11: Channels 335
Concurrency and Parallelism 335
Go's Concurrency Model 338
Communicating with Channels 342
Unidirectional Channels 351
Closing Channels 352
Buffered Channels 358
Capturing System Signals with Channels 363
Summary 371
Chapter 12: Context 373
The Context Interface 374
Context Rules 380
Context Nodal Hierarchy 381
Context Values 384
Problems with String Keys 388
Securing Context Keys and Values 393
Cancellation Propagation with Contexts 396
Timeouts and Deadlines 405
Context Errors 408
Listening for System Signals with Context 411
Summary 416
Chapter 13: Synchronization 419
Waiting for Goroutines with a WaitGroup 419
Error Management with Error Groups 433
Data Races 443
Synchronizing Access with a Mutex 447
Performing Tasks Only Once 459
Summary 466
Chapter 14: Working with Files 467
Directory Entries and File Information 467
Walking Directories 473
Skipping Directories and Files 477
Creating Directories and Subdirectories 481
File Path Helpers 484
Creating Multiple Directories 489
Creating Files 492
Fixing the Walk Tests 497
Appending to Files 500
Reading Files 503
Beware of Windows 505
The FS Package 506
Using the FS Interface 510
Mocking a File System 513
Embedding Files 517
Summary 522
Index 523
Hàng nghìn nhà phát triển và nhóm muốn bắt đầu tận dụng Go, ngôn ngữ mạnh mẽ được sử dụng trong các dự án từ Kubernetes đến Docker và Vault. Go Fundamentals được thiết kế đặc biệt để giúp bạn bắt kịp tốc độ nhanh chóng, tận dụng kiến thức hiện có của bạn và giúp bạn tránh những lỗi phổ biến mà những người mới chơi Go thường mắc phải. Dựa trên chương trình đào tạo Gopher Guides tiên phong của tác giả, nó sẽ giúp bạn:
Nhanh chóng hiểu, đọc và sử dụng cú pháp Go
Làm việc hiệu quả với các kiểu bộ sưu tập, phép lặp, hàm, cấu trúc và con trỏ
Hiểu nội bộ của Go Slices và tìm hiểu cách sử dụng chúng đúng cách
Viết thành ngữ Sử dụng các nguyên tắc cốt lõi như nhúng và giao diện
Đạt được sự hiểu biết sâu sắc về tính đồng thời của Go, để viết mã mạnh mẽ hơn, hoạt động tốt hơn
Tạo các bài kiểm tra thích hợp, bao gồm kiểm tra bảng, để nhanh chóng xác định và khắc phục sự cố
Tận dụng các kênh, bối cảnh, khái quát, tạo khuôn mẫu và các tính năng phức tạp khác
Xây dựng ứng dụng web với HTTP và HTML, v.v.
Covers Go 1.18 và Generics
Foreword xxi
Preface xxiii
Acknowledgments xxxi
About the Authors xxxv
Chapter 1: Modules, Packages, and Dependencies 1
Modules 1
Packages 4
Folders, Files, and Organization 6
Importing Packages and Modules 13
Dependencies 16
Summary 25
Chapter 2: Go Language Basics 27
Go Language Overview 27
Numbers 31
Strings 35
UTF-8 37
Variables 40
Constants 48
Naming Identifiers 51
Printing and Formatting 57
Summary 75
Chapter 3: Arrays, Slices, and Iteration 77
List Types: Arrays and Slices 77
How Slices Work 90
Iteration 104
Summary 110
Chapter 4: Maps and Control Structures 111
Maps 111
If Statements 129
Switch Statements 135
Summary 140
Chapter 5: Functions 141
Function Definitions 141
Variadic Arguments 151
Deferring Function Calls 156
Init 162
Summary 166
Chapter 6: Structs, Methods, and Pointers 167
Structs 167
Methods 176
Pointers 182
Nil Receivers 191
Summary 193
Chapter 7: Testing 195
Testing Basics 195
Code Coverage 202
Table Driven Testing 206
Running Tests 213
Test Helpers 222
Summary 229
Chapter 8: Interfaces 231
Concrete Types versus Interfaces 231
Explicit Interface Implementation 233
Implicit Interface Implementation 234
Before Interfaces 235
Using Interfaces 237
Implementing io.Writer 239
Multiple Interfaces 241
Asserting Interface Implementation 241
The Empty Interface 242
Defining Interfaces 243
Embedding Interfaces 249
Type Assertion 250
Assertions through Switch 252
Using Assertions 255
Summary 257
Chapter 9: Errors 259
Errors as Values 259
Panic 264
Don't Panic 273
Custom Errors 289
Wrapping and Unwrapping Errors 294
Errors As/Is 301
Stack Traces 307
Summary 309
Chapter 10: Generics 311
What Are Generics? 311
Summary 334
Chapter 11: Channels 335
Concurrency and Parallelism 335
Go's Concurrency Model 338
Communicating with Channels 342
Unidirectional Channels 351
Closing Channels 352
Buffered Channels 358
Capturing System Signals with Channels 363
Summary 371
Chapter 12: Context 373
The Context Interface 374
Context Rules 380
Context Nodal Hierarchy 381
Context Values 384
Problems with String Keys 388
Securing Context Keys and Values 393
Cancellation Propagation with Contexts 396
Timeouts and Deadlines 405
Context Errors 408
Listening for System Signals with Context 411
Summary 416
Chapter 13: Synchronization 419
Waiting for Goroutines with a WaitGroup 419
Error Management with Error Groups 433
Data Races 443
Synchronizing Access with a Mutex 447
Performing Tasks Only Once 459
Summary 466
Chapter 14: Working with Files 467
Directory Entries and File Information 467
Walking Directories 473
Skipping Directories and Files 477
Creating Directories and Subdirectories 481
File Path Helpers 484
Creating Multiple Directories 489
Creating Files 492
Fixing the Walk Tests 497
Appending to Files 500
Reading Files 503
Beware of Windows 505
The FS Package 506
Using the FS Interface 510
Mocking a File System 513
Embedding Files 517
Summary 522
Index 523