About the Authors vAbout the Technical Writer viAbout the Technical Editor viiAcknowledgments viiiIntroduction xxiPart I: The Basics of the Go Programming Language 1Lesson 1: Getting Started with Go 3Lesson 2: Understanding Go Basics 21Lesson 3: Storing with Variables 39Lesson 4: Performing Operations 69Lesson 5: Controlling Program Flow with Conditional Statements 99Lesson 6: Controlling Program Flow with Loops 123Lesson 7: Pulling It All Together: Income Tax Calculator 145Part II: Organizing Code and Data in Go 173Lesson 8: Using Functions 175Lesson 9: Accessing Arrays 195Lesson 10: Working with Pointers 215Lesson 11: Organizing with Structs 237Lesson 12: Accessing Slices 263Lesson 13: Manipulating Maps 287Lesson 14: Creating Methods 305Lesson 15: Adding Interfaces 325Lesson 16: Pulling It All Together: Building a Burger Shop 343Part III: Creating Job Ready Solutions in Go 377Lesson 17: Handling Errors 379Lesson 18: Concurrency 395Lesson 19: Sorting and Data Processing 421Lesson 20: File I/O and OS Operations 453Lesson 21: Pulling It All Together: Word Analysis in Go 485Part IV: Advanced Topics for Go Development 525Lesson 22: Testing 527Lesson 23: API Development Tutorial 561Lesson 24: Working with gRPC 591Lesson 25: Pulling It All Together: Using Smart Data 607Lesson 26: Using Modules 645Appendix: File Permissions and Access Rights 651Index 655
HAYTHEM BALTI, PhD, is an associate dean at Wiley Edge. He has created courses used by thousands of Software Guild and Wiley Edge (formerly mthree) alumni to learn Go, Java, Python, and other development and data science skills.KIMBERLY A. WEISS is a Senior Manager of Curriculum Operations for Wiley Edge. She has worked with multiple universities as well as corporate training settings to develop interactive instructional content appropriate for the target learners and course goals, specializing in software development courses.