Overview
This project is a modular, data-driven Go application that reads student data from a file, processes it, and generates a structured report.
It demonstrates core backend engineering concepts:
file I/O
error handling
modular design (packages)
data processing
clean output formatting
Features
Read student data from input.txt
Parse structured records into Go structs
Skip invalid input line
Overview
This project demonstrates how to structure a Go application using packages and modular design.
Instead of placing all logic in a single file, the program is organized into reusable components, following real-world Go project practices.
Features
Read student data from a file
Parse structured data into Go structs
Compute:
Average score
Top-performing students (supports ties)
Skip inval
Overview
Today I transitioned from interactive CLI programs to data-driven applications.
Instead of relying on terminal input, the program reads structured data from a file, processes it, and writes results back to disk. This is a foundational pattern for backend services and data processing tools.
What I Built
A Student Data Processor that:
reads student records from a file (students.txt)
parse
Overview
Today I learned how Go handles errors explicitly through the error type.
Unlike languages that rely on exceptions, Go treats errors as ordinary values. This makes control flow more visible and forces programmers to handle failures directly.
What I Built
A Safe Calculator CLI that:
reads user input safely
performs division with validation
computes square roots with validation
uses a cust
Overview
Today I learned how to use interfaces in Go to design flexible and reusable code.
Interfaces allow different types to share common behavior without explicit inheritance. This enables polymorphism and decouples implementation from usage.
What I Built
A Grading System CLI that:
defines a common interface (Evaluator)
implements it for multiple types (Student, Course)
stores different types