In Job Ready Go, software education guru Dr. Haythem Balti delivers an essential and hands-on guide to Go, an open-source programming language developed by Google engineers to combine the most sought-after capabilities of other programming languages, including Java, C#, and C++. In the book, the author walks you through all the most critical skills necessary for successful, on-the-job Go programming.
You’ll discover: - How to get started with Go, including how to run, build, and test your own go programs - Understand control flow and data structures in Go including arrays, slices, maps, and pointerss - How to leverage structs, interfaces, and methods to organize and reuse code - How to leverage go to process data, access different types of files and develop APIs - Leverage concurrency and gRPCs to create complex and interconnected systems.
Job Ready Go offers readers straightforward and elegant instruction based on the renowned mthree Global Academy and Software Guild training program. It’s an essential read for aspiring Go developers looking for a fast-track to developing real-world skills demanded by employers.
Table of Contents
About the Authors v
About the Technical Writer vi
About the Technical Editor vii
Acknowledgments viii
Introduction xxi
Part I: The Basics of the Go Programming Language 1
Lesson 1: Getting Started with Go 3
Lesson 2: Understanding Go Basics 21
Lesson 3: Storing with Variables 39
Lesson 4: Performing Operations 69
Lesson 5: Controlling Program Flow with Conditional Statements 99
Lesson 6: Controlling Program Flow with Loops 123
Lesson 7: Pulling It All Together: Income Tax Calculator 145
Part II: Organizing Code and Data in Go 173
Lesson 8: Using Functions 175
Lesson 9: Accessing Arrays 195
Lesson 10: Working with Pointers 215
Lesson 11: Organizing with Structs 237
Lesson 12: Accessing Slices 263
Lesson 13: Manipulating Maps 287
Lesson 14: Creating Methods 305
Lesson 15: Adding Interfaces 325
Lesson 16: Pulling It All Together: Building a Burger Shop 343
Part III: Creating Job Ready Solutions in Go 377
Lesson 17: Handling Errors 379
Lesson 18: Concurrency 395
Lesson 19: Sorting and Data Processing 421
Lesson 20: File I/O and OS Operations 453
Lesson 21: Pulling It All Together: Word Analysis in Go 485
Part IV: Advanced Topics for Go Development 525
Lesson 22: Testing 527
Lesson 23: API Development Tutorial 561
Lesson 24: Working with gRPC 591
Lesson 25: Pulling It All Together: Using Smart Data 607
Lesson 26: Using Modules 645
Appendix: File Permissions and Access Rights 651
Index 655