
Set up your Go development environment by installing the Go SDK from go.dev, installing Git, and selecting an IDE such as Visual Studio Code with the Go extension or Goland.
Discover the Go program structure from package main and imports to the main function and fmt.Println output, and learn go run, go build, and go tool workflows.
Solve the fizzbuzz problem by printing numbers 1 to 21, replacing multiples of three with fizz, multiples of five with buzz, and both with fizzbuzz using modulo.
Determine and count even-ended numbers, where the first and last digits match, that are products of two four-digit numbers; demonstrate number-to-string conversion with sprintf and %q in Go.
Iterate pairs of four-digit numbers in Go, prevent duplicate counting, compute their product, convert it to a string, check if first and last letters match, and print the count.
Explore slices in Go by printing and indexing a string slice, using len, formatting with %v and %T, iterating with for and range, accessing index and value, and appending elements.
Explore how maps work in Go by mapping string keys to float64 values in a stock portfolio, including creation, retrieval, existence checks, updates, deletion, and iteration.
Go functions can return multiple values, enabling error handling with a zero value on error and fmt-created errors; defer ensures resources release in reverse order.
Define a budget struct to group fields like balance and expiration time, then access fields with dot notation and implement methods with value and pointer receivers.
Learn how to serialize and deserialize JSON in Go using the encoding/json package, decode from a reader, encode responses, and make HTTP GET and POST requests with JSON using net/http.
Count word frequency in text using a map by iterating over words and incrementing counts. Use the zero value for missing keys and the comma ok idiom to check existence.
Master go error handling by stopping and deleting a docker database container, validating its id (12 or 64 chars), and executing the stop and delete sequence with robust error reporting.
Learn how to use defer to close files and flush writers, write items to a file safely, and guard against panics with recover and error handling.
Write a Go filter function that takes a predicate (int to bool) and a slice of values, returning only elements for which the predicate returns true.
Explore case insensitive comparisons in Go by using a letter struct with a Greek symbol and English name, iterating a letters slice, returning the match or an error.
Parse a ledger line into a transaction using regular expressions in Go and implement a grep-like function that returns lines containing a term.
Create a function that counts how many times each go sub command appears in a file, returning a history map of command names to counts and any error.
Compile a regular expression, scan a file line by line, extract a sub command from the regex group, and count frequencies in a map.
Learn http authentication with basic and token methods, set the authorization header, and build an http server that accepts and returns json metrics (host, time, cpu, memory)
Build a rest api in go with gorilla/mux, extract ISBN from the path, fetch the book from the database, return json responses with content-type application/json, and enforce the get method.
Explore building a Go in-memory key-value store with a gorilla router, including set, get, and list operations guarded by a read-write lock, plus client and server setup.
This solution builds a key-value server with router-based set and get handlers, uses a read-write lock, and returns JSON with key and size while offering a list endpoint.
Convert sequential Go code to concurrent by spinning daily workers, fetching daily distances, and aggregating results to speed up monthly distance calculations.
Explore timeouts in Go by using a context with timeout and a buffered channel, then select to return either the algorithm's best bid or a default bid in real-time bidding.
Tackle cpu-intensive tasks by using a fixed pool of workers and a channel to dispatch vectors, compute medians, and gracefully shut down with a wait group.
Track uploaded data on your web server with the sync/atomic package. Update the total size safely using uint64 and atomic.AddUint64, without locking, and expose metrics with the xp package.
Compute total download size in Go by calculating per-file sizes from HTTP content lengths in parallel, generate year-2020 URLs, and print the total in gigabytes (about 2.27 GB).
Use an error group to run concurrent download tasks, log the download size, increment the size atomically, then wait for all jobs and convert from n64 to int.
Welcome to this two part course on learning Go, the programming language from Google. In this 2 part course we'll go over the fundamentals of Go and then get into Go Recipes.
We'll start things off with the fundamentals of Go. We'll cover most of the language and learn many of the concepts that underlie this programming language.
In course two, we get into more advance topics. You'll be introduced to Golang Recipes. Which shows examples of how the Go programming language can be used
We'll walk you through common Go projects with "recipes," or step-by-step instructions. We'll go over some basics, such as Go slices, maps, error handling, and panic recovery.
We'll then get into how to measure, format, parse, and convert time in Go. We'll go over ways you can work with text in Go. Then demonstrate using structs, methods, and interfaces to improve your code.
We'll discuss working with JSON and HTTP, then concludes by describing the benefits of bringing concurrent instructions to your apps.
Go – also known as Golang – is an open source programming language developed by Google in 2007. Go makes it easy to build simple, reliable, and efficient software.
Go is a programming language with modern features, clean syntax and a robust well-documented common library, making it an ideal programming language to learn. Go can be used for anything, meaning developers who learn Go can use it wherever they want.
Quite a few large companies are starting to make the switch over to Go and there are many that already use it for parts of their backend software. Some companies that use Go are: Facebook, Google, Github, 99designs and many more.
This is a great course to jumpstart your learning journey with Go, whether you want to learn it for personal or professional reasons. This course touches on all of the basics so that you will have good understanding of the Go programming language.