I started learning Golang
April 13, 2025
3 min read
golang
Basics
🗓️ Week 1: Go Basics & Syntax
Goal: Understand how Go works and write simple programs.
- Day 1: Install Go, set up your environment (e.g., VS Code + Go extension)
- Day 2: Variables, data types, constants, basic I/O
- Day 3: Functions and scope
- Day 4: Conditionals (if/else/switch)
- Day 5: Loops (
for
,range
) - Day 6: Practice: Build a basic calculator or CLI converter (e.g., Celsius to Fahrenheit)
- Day 7: Review and solidify
🗓️ Week 2: Data Structures & Error Handling
Goal: Learn how Go handles data and errors.
- Day 1: Arrays, slices
- Day 2: Maps
- Day 3: Structs
- Day 4: Pointers (just the basics! — ai said)
- Day 5: Error handling (
error
type,panic
,recover
) - Day 6: Mini project: Student record manager (struct + slice + basic CLI interaction)
- Day 7: Review & code cleanup
🗓️ Week 3: Go Routines & File I/O
Goal: Get a feel for Go's concurrency and working with files.
- Day 1: File reading/writing
- Day 2: Goroutines (basic concurrency — ai said)
- Day 3: Channels
- Day 4: Select statement
- Day 5: Mutex (light intro)
- Day 6: Project: Multi-file word counter with go routines
- Day 7: Review concurrency concepts
🗓️ Week 4: Build & Polish
Goal: Apply everything in a mini project.
- Choose a small CLI app (ideas: task manager, URL shortener, JSON parser)
- Day-by-day breakdown:
Advanced with database languages
✅ Week 1: SQL Fundamentals
Goal: Learn how relational databases work and write basic SQL queries.
- Day 1: What is SQL? Introduction to databases (tables, rows, columns, primary keys)
- Day 2: Basic queries:
SELECT
,WHERE
,ORDER BY
,LIMIT
- Day 3: Filtering & logic:
AND
,OR
,IN
,LIKE
- Day 4: Sorting and NULL values
- Day 5: Insert data:
INSERT INTO
- Day 6: Update and delete:
UPDATE
,DELETE
- Day 7: Mini project: Design a simple table (e.g., Users), insert data, and query it
✅ Week 2: Intermediate SQL + SQL with Golang
Goal: Use Go to connect to a real database (SQLite or Postgres).
- Day 1: Table relationships:
JOIN
,FOREIGN KEY
- Day 2: Indexes and basic normalization
- Day 3: Install SQLite/PostgreSQL locally + DB viewer (e.g., DBeaver)
- Day 4: Use Go's
database/sql
package - Day 5: Connect Go to SQLite/Postgres, run a SELECT query
- Day 6: Use
sqlx
orgorm
(ORM) for easier queries - Day 7: Mini app: CLI User manager (Add, List, Update, Delete users)
✅ Week 3: Applied Project
Goal: Combine everything in a real-world mini backend.
- Pick a project idea:
- Day 1: Plan schema (ERD diagram), create SQL tables
- Day 2–3: Build Go CLI or web app (use
mux
for routing) - Day 4: Implement all CRUD functions (Create, Read, Update, Delete)
- Day 5: Add relationships and JOIN queries
- Day 6: Optional: add pagination, search, or error handling
- Day 7: Clean up, refactor, and post to GitHub