Date Started: June 2, 2025
- Day 1: Install Go, set up your editor (VSCode recommended)
- Day 2: Write your first program:
Hello, Go!and run it - Day 3: Understand Go program structure:
package main,import,func main() - Day 4: Learn how to print to the console with
fmt.Println - Day 5: Experiment with comments and basic syntax
Build a simple CLI program that prints personalized greetings for different names.
- Day 1: Learn about variables (
var), declaration, and initialization - Day 2: Explore basic data types:
int,float64,string,bool - Day 3: Use constants and learn their importance
- Day 4: Practice printing variables and constants
- Day 5: Write simple programs combining different variable types
Create a program that converts temperatures between Celsius, Fahrenheit, and Kelvin.
- Day 1: Learn if-else statements
- Day 2: Learn switch statements
- Day 3: Understand for-loops and loop control (break/continue)
- Day 4: Write a program to check if a number is even or odd
- Day 5: Write a program to print the first 10 Fibonacci numbers
Write a number guessing game that gives hints if the guess is too high or low.
- Day 1: Understand function declaration and calling functions
- Day 2: Learn about parameters and return values
- Day 3: Practice writing functions with multiple parameters
- Day 4: Learn about multiple return values
- Day 5: Write a function that calculates factorial recursively
Build a calculator CLI app that supports add, subtract, multiply, and divide operations.
- Day 1: Understand arrays and how to declare them
- Day 2: Learn about slices and how they differ from arrays
- Day 3: Practice appending elements to slices
- Day 4: Loop through slices using
forandrange - Day 5: Write a program to find the max and min in a slice
Create a program that manages a list of favorite movies with options to add and display.
- Day 1: Learn what maps are and how to declare them
- Day 2: Add, update, and delete entries in maps
- Day 3: Loop over maps with
range - Day 4: Check if a key exists in a map
- Day 5: Write a program that stores and prints a phone book
Build a simple inventory tracker using maps for items and quantities.
- Day 1: Understand structs and how to declare them
- Day 2: Initialize and use struct instances
- Day 3: Learn about struct fields and methods
- Day 4: Practice nested structs
- Day 5: Write a program to create and display a
Personstruct
Build a Contact Manager storing name, phone, and email using structs and maps.
- Day 1: Learn the
errortype and how to return errors - Day 2: Use
errors.Newto create errors - Day 3: Handle errors returned by functions
- Day 4: Understand
panicandrecoverbasics - Day 5: Write a function that validates input and returns an error if invalid
Create a program that reads integers from user input and returns an error for invalid input.
- Day 1: Introduction to goroutines
- Day 2: Use
gokeyword to run functions concurrently - Day 3: Learn about synchronization with
sync.WaitGroup - Day 4: Understand channels basics
- Day 5: Write a program that runs two tasks concurrently and waits for both
Build a simple concurrent downloader that simulates fetching multiple URLs.
- Day 1: Learn to open and read files using
osandio/ioutil'theio/ioutilis deprecated useiooros. - Day 2: Write data to files
- Day 3: Practice appending data to existing files
- Day 4: Handle file errors
- Day 5: Write a program to copy a file
Create a program that reads a list of names from a file and prints them sorted.
- Day 1: Learn basics of
net/httppackage - Day 2: Write a simple web server that returns "Hello, Go Web!"
- Day 3: Handle different URL paths
- Day 4: Serve static HTML content
- Day 5: Add query parameters and parse them
Build a mini guestbook where visitors submit their names and see all entries.
- Review all topics covered so far
- Refactor side projects based on what you learned
- Practice debugging and writing clean code
-
Pick one small project per month, such as:
- Command-line to-do app
- URL shortener web app
- Basic blog site with posts
-
Continue practicing Go basics and explore more packages gradually.
- Use the official Go tour: https://tour.golang.org/
- Practice coding daily (20-30 minutes)
- Start small, build step-by-step
- Ask questions on Go forums or Stack Overflow
Date Started: june 2, 2025
Actual Date Completed:
Estimated Date Completed: Decemeber 31, 2025
references Day 3: https://www.w3schools.com/go/