Your first program
- Introduction
- A history of Go
- What is it used for though?
- References
- Features
- Install Go
- A Go program
- Commands
- Summary
- ? Challenge
- Review & Self Study
- Assignment
- Solution
Using variables
- Introduction
- Declare variables
- Assign variables
- Data types
- String interpolation
- Assignment - define some variables and print them out
- ? Challenge
- Review & Self Study
- Solution
Flow control
- Introduction
- Flow control
- The
ifconstruct - Using
else if - Multiple expressions
- Assignment - create a program that tests your Boolean logic
- ? Challenge
- Solution
- Review & Self Study
Converting between types
- Introduction
- Why convert between types
- Use case - command-line arguments
- Convert from string to int with
strconv - Parse string to int
- Integer to string
- Additional parsing
- Assignment
- Solution
- ? Challenge
Working with loops
- Introduction
- The case for looping statements
- The
forloop - Repeat until the condition is met with
while - Using for-each over a range
- Controlling the loop with
continueandbreak - Assignment - create a command line loop
- ? Challenge
- Solution
Reading user input
- Introduction
- User input
- Managing user input with
fmt - Reading one input
- Reading multiple inputs
Scanf(), scan the input with formatters- Learn more
- Assignment - read user input
- ? Challenge
- Solution
Using functions
- Introduction
- Why functions
- Your first function
main() - The anatomy of a function
- Adding a return type
- Multiple returns
- Assignment - adding a function to a program
- Solution
Handling errors
- Introduction
- Errors
- Crash the program with
panic() - Improve the error handling
- Use the error pattern with the
errorspackage - Assignment I - add error handling
- Solution I
- Assignment II - improve error logging
- Solution II
Arrays and slices
- Introduction
- Arrays
- Declare an array
- Accessing elements
- Length and capacity
- Slices
- Assignment - store log entries
- Solution
Structs
- Introduction
- Why structs
- Defining a struct
- Embedding a struct
- Adding implementation to structs
- Assignment - defining a struct
- Solution
Using maps
- Introduction
- The use case for a map
- Creating a map
- Read a value by key
- Iterate over a map
- Delete an entry
- Assignment - build a phone book
- Solution
- Challenge
Interfaces
- Introduction
- Interface
- Interface - describing a behaviour
- Implement an interface
- Type assertions
- Change a value
- Assignment
- Solution
Your first project
- Introduction
- Module use cases
- Consume internal files
- Creating a project
- The import statement
- Assignment - create a project
- Solution
- Challenge
Consume an external module
- Introduction
- External module
- Import module
- Use it in code
- Assignment - consume an external module
- Solution
- Challenge
Create a module meant for sharing
- Introduction
- Create a module
- Assignment - create a module meant for sharing and consume it
- Challenge
Test your code in Go
- Introduction
- Why we test
- What Go provides
- Your first test
- Control the test run
- Coverage
- Learn more
- Challenge
Working with JSON
- Introduction
- JSON
- Reading JSON
- Writing JSON
- Assignment
- Solution
- ? Challenge
- Learn more
Build a Web API
- Introduction
- Web API
- The
net/httplibrary - Responding to a request
- Working with the request
- ServeMux, a better way
- Assignment - build a first web app
- Solution
- Challenge
Better logging with a logging library
- Introduction
- Reasons to log
- What to log
- Using
log - Assignment
- Solution
Working with strings
- Handling special characters
- Inspect with
Contains() - Parsing with
Split() - Presentation
- Assignment
- Solution
Use regular expressions to parse text
- What is RegEx and what to use it for
- Why use RegEx
- Where is it used ?
- Your first RegEx
- Character classes
- Repetition
- Anchors and boundaries
- Groups
- Named groups
- Assignment - create a Go program that parses a URL
- Replacing
- Assignment - replace content
- Solution II
Goroutines and channels
- Introduction
- Concurrency, what’s the benefit
- Goroutines
- Channels
- Assignment -
SearchFiles()with channels - Challenge
- Solution
Working with a database
- Introduction
- Select a sqlite driver
- Use
sqlite3from the console - Talking to your database via Go.
- Assignment
- Solution
Read and write to files
- Introduction
- Read a text file
- Write text to a file
- Append to a file
- Assignment
- Solution
- Challenge
Perform operations on files and directories
- Introduction
- File information
- Copy file
- Rename
- Remove file
- Create dir
- Read dir
- Assignment
- Solution
