Description: For these sessions I’m going to start from the very beginning of the book “The Go Programming Language” and go through each chapter and section of the book, covering code an details about how to get started with Go, setup your environment, install Go, create a project, manage dependencies, and onward. Here’s a list of the different sections, then below this is the actual videos I’ve made.
- Packages & the Go Tool
- Import Paths
- Package Declaration
- Import Declarations
- Blank Imports
- Packages & Naming
- The Go Tool
- Structure
- Names
- Declarations
- Variables
- Assignments
- Type Declarations
- Packages and Files
- Scope
- Basic Types
- Integers
- Floats
- Complex Numbers
- Booleans
- Strings
- Constants
- Composite Types
- Arrays
- Slices
- Maps
- Structs
- JSON
- HTML/Text Templates
- Functions
- Declarations
- Recursion
- Return Values
- Errors
- Function Values
- Anonymous
- Variadic
- Deferred Calls
- Panic
- Recovery
- Methods
- Declarations
- Pointer Receiver
- Composing via Struct Embedding
- Values & Expressions
- Encapsulation (eh?)
- Interfaces
- Contracts
- Types
- Meeting Contract Satisfactorily
- …more sections to be determiend…
- Goroutines & Channels
- Goroutines
- Channels
- Looping in Parallel
- Multiplexing
- Cancellation
- Concurrency via Shared Variables
- Race Conditions
- Mutual Exclusion
- Read/Write Mutexes
- Memory Synchronization
- Lazy Initialization
- Race Detector
- Threads
- Testing
- Go Test
- Test Functions
- Coverage
- Benchmark
- Profiling
- Reflection
- Why?
- Type & Value
- Recursive Value Printer
- Setting Variables
- Accessing Struct Field Tags
- Method of a Type
- Caution
Throughout these sessions I’ll organize and add more material to the content then merely what’s in the book. However I included the book above “The Go Programming Language” because it’s a really solid book and I highly suggest picking up a copy. By doing so you can also study and follow along with these sessions with me, and you’ll have full context of what I’m working through and showing.
One thought on “Getting Started with Go”