Go 101 - Liu Xu

Go 101

Durch Liu Xu

  • Veröffentlichungsdatum: 2019-04-11
  • Genre: Programmieren

Beschreibung vom Buch

Go 101 is a book focusing on Go syntax/semantics and all kinds of details. The book also tries to help gophers gain a deep and thorough understanding of Go. The book is expected to be helpful for both beginner and experienced Go programmers.
Contents: * About Go 101 - why this book is written. * Acknowledgements * An Introduction of Go - why Go is worth learning. * The Official Go SDK - how to compile and run Go programs. * Become Familiar With Go Code * Introduction of Source Code Elements * Keywords and Identifiers * Basic Types and Their Value Literals * Constants and Variables - also introduces untyped values and type deductions. * Common Operators - more type deduction rules are introduced. * Function Declarations and Calls * Code Packages and Package Imports * Expressions, Statements and Simple Statements * Basic Control Flows * Goroutines, Deferred Function Calls and Panic/Recover * Go Type System * Overview of Go Type System - a must read to master Go programming. * Pointers * Structs * Value Parts - to gain a deeper understanding into Go values. * Arrays, Slices and Maps - first-class citizen container types. * Strings * Functions - variadic functions, function types and values. * Channels - the Go way to do concurrency synchronizations. * Methods * Interfaces - value boxes used to do reflection and polymorphism. * Type Embedding - type extension in the Go way. * Type-Unsafe Pointers * Built-in Generics * Reflections - the reflect standard package. * Some Special Topics * Line Break Rules * More About Deferred Function Calls * Some Panic/Recover Use Cases * The Right Places to Call the Built-in recover Function * Code Blocks and Identifier Scopes * Expression Evaluation Orders * Value Copy Costs in Go * Bounds Check Elimination * Concurrent Programming * Concurrency Synchronization Overview * Channel Use Cases * How to Gracefully Close Channels * Other Concurrency Synchronization Techniques - the sync standard package. * Atomic Operations - the sync/atomic standard package. * Memory Order Guarantees in Go * Common Concurrent Programming Mistakes * Memory * Memory Blocks * Memory Layouts * Memory Leaking Scenarios * Some Summaries * Some Simple Summaries * nil in Go * Value Conversion, Assignment and Comparison Rules * Syntax/Semantics Exceptions * More Go Related Topics