Skip to content

devzeeh/june-to-dec-2025-GO-Practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

115 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

june-to-dec-2025-GO-Practice

Daily Beginner's Go Programming Guide (June – December 2025)


Date Started: June 2, 2025

June: Getting Started with Go

Week 1: Setup & Hello World

  • 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

Week 1 Side Project:

Build a simple CLI program that prints personalized greetings for different names.


Week 2: Variables & Basic Types

  • 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

Week 2 Side Project:

Create a program that converts temperatures between Celsius, Fahrenheit, and Kelvin.


Week 3: Control Flow

  • 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

Week 3 Side Project:

Write a number guessing game that gives hints if the guess is too high or low.


Week 4: Functions

  • 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

Week 4 Side Project:

Build a calculator CLI app that supports add, subtract, multiply, and divide operations.


July: Core Concepts

Week 1: Arrays and Slices

  • 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 for and range
  • Day 5: Write a program to find the max and min in a slice

Week 1 Side Project:

Create a program that manages a list of favorite movies with options to add and display.


Week 2: Maps (Dictionaries)

  • 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

Week 2 Side Project:

Build a simple inventory tracker using maps for items and quantities.


Week 3: Structs (Basic Data Structures)

  • 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 Person struct

Week 3 Side Project:

Build a Contact Manager storing name, phone, and email using structs and maps.


Week 4: Error Handling

  • Day 1: Learn the error type and how to return errors
  • Day 2: Use errors.New to create errors
  • Day 3: Handle errors returned by functions
  • Day 4: Understand panic and recover basics
  • Day 5: Write a function that validates input and returns an error if invalid

Week 4 Side Project:

Create a program that reads integers from user input and returns an error for invalid input.


August: Simple Go Tools

Week 1: Basic Concurrency

  • Day 1: Introduction to goroutines
  • Day 2: Use go keyword 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

Week 1 Side Project:

Build a simple concurrent downloader that simulates fetching multiple URLs.


Week 2: Reading and Writing Files

  • Day 1: Learn to open and read files using os and io/ioutil 'the io/ioutil is deprecated use io or os.
  • 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

Week 2 Side Project:

Create a program that reads a list of names from a file and prints them sorted.


Week 3: Beginner Web Server

  • Day 1: Learn basics of net/http package
  • 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

Week 3 Side Project:

Build a mini guestbook where visitors submit their names and see all entries.


Week 4: Review & Practice

  • Review all topics covered so far
  • Refactor side projects based on what you learned
  • Practice debugging and writing clean code

September – December: Practice & Build Small Projects

  • 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.


Tips for Learning Go as a Beginner

  • 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/

About

Go Learning Plan (June–December 2025)

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages