# rubyhan1314/golang-100-days

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/rubyhan1314-golang-100-days).**

6,026 stars · 1,859 forks · Smarty

## Links

- GitHub: https://github.com/rubyhan1314/Golang-100-Days
- awesome-repositories: https://awesome-repositories.com/repository/rubyhan1314-golang-100-days.md

## Description

Golang-100-Days is a structured, daily lesson curriculum for learning the Go programming language from the ground up, progressing into practical microservice and web application development. The project is built around a code-example-driven approach, where each day introduces new concepts through runnable Go snippets and complete project examples rather than abstract theory, covering Go fundamentals such as syntax, data types, control flow, functions, and packages.

The curriculum differentiates itself by grouping lessons around specific Go frameworks and distributed system patterns. It includes dedicated modules for building microservices with the Go-Micro framework and gRPC, implementing service discovery and health checking with Consul, and designing RESTful APIs using standard HTTP methods and resource mapping. Additionally, the project provides hands-on tutorials for full-stack web application development using the Beego and Iris frameworks, covering routing, MVC structure, controllers, models, and session management.

The learning path is organized into sequential daily modules that build on each other, starting with Go fundamentals and advancing through framework-specific projects. The documentation and code examples are structured to support a self-paced learning journey, with each lesson designed to be completed in a single day.

## Tags

### Education & Learning Resources

- [Progressive Lesson Series](https://awesome-repositories.com/f/education-learning-resources/educational-lessons/progressive-lesson-series.md) — Organises learning into sequential daily modules that build on each other from fundamentals to advanced topics.
- [Go Learning Curricula](https://awesome-repositories.com/f/education-learning-resources/deep-learning-curriculum/go-learning-curricula.md) — Structured daily lessons covering Go syntax, data types, and control flow for beginners.
- [Code Examples](https://awesome-repositories.com/f/education-learning-resources/educational-resources/reference-and-media/books-docs-reference/code-examples.md) — Teaches concepts through runnable Go code snippets and complete project examples rather than abstract theory.
- [Web Framework Tutorials](https://awesome-repositories.com/f/education-learning-resources/educational-resources/reference-and-media/tutorials-media-curated-lists/technical-tutorials/application-development/web-development-tutorials/web-framework-tutorials.md) — Hands-on projects for building web applications with Beego and Iris frameworks.

### Part of an Awesome List

- [Go Framework Tutorials](https://awesome-repositories.com/f/awesome-lists/devtools/go-projects/go-framework-tutorials.md) — Groups lessons around distinct Go frameworks like Beego, Iris, and Go-Micro with dedicated project sections.

### Data & Databases

- [Protocol Buffers](https://awesome-repositories.com/f/data-databases/data-serialization-formats/binary-serialization-protocols/protocol-buffers.md) — Uses Protocol Buffers as the data serialization format for RPC communication between microservices.

### Development Tools & Productivity

- [Learning Curricula](https://awesome-repositories.com/f/development-tools-productivity/diagnostic-toolkits/go/learning-curricula.md) — Daily structured lessons covering Go syntax, data types, control flow, functions, and packages for beginners.

### Networking & Communication

- [Consul Service Discovery](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-systems-coordination/service-discovery-mechanisms/consul-service-discovery.md) — Embeds Consul for automatic service registration and health checking across distributed microservice components.
- [Microservice Frameworks](https://awesome-repositories.com/f/networking-communication/http-clients/http-servers/microservice-frameworks.md) — Wraps service creation and event-driven communication through the Go-Micro framework's unified API.
- [gRPC Service Implementations](https://awesome-repositories.com/f/networking-communication/polyglot-client-support/grpc-implementations/grpc-service-implementations.md) — Defining services, generating code, and implementing RPC communication using the gRPC framework.
- [Tutorials](https://awesome-repositories.com/f/networking-communication/polyglot-client-support/grpc-implementations/tutorials.md) — Step-by-step lessons on implementing RPC communication with Protocol Buffers and gRPC.
- [Go RPC Implementations](https://awesome-repositories.com/f/networking-communication/rpc-protocols/go-rpc-implementations.md) — Go's remote procedure call implementation using the standard library and Protocol Buffers to serialize data between services. ([source](https://cdn.jsdelivr.net/gh/rubyhan1314/golang-100-days@master/README.md))
- [gRPC Implementations](https://awesome-repositories.com/f/networking-communication/polyglot-client-support/grpc-implementations.md) — Go's service definition, code generation, and RPC communication implementation using the gRPC framework. ([source](https://cdn.jsdelivr.net/gh/rubyhan1314/golang-100-days@master/README.md))

### Software Engineering & Architecture

- [Go-Micro Framework Implementations](https://awesome-repositories.com/f/software-engineering-architecture/go-microservices-architectures/go-micro-framework-implementations.md) — Creating, configuring, and connecting microservices using the Go-Micro framework with event-driven communication.
- [Tutorials](https://awesome-repositories.com/f/software-engineering-architecture/go-microservices-architectures/tutorials.md) — Lessons on building microservices using Go-Micro, Consul, and event-driven communication.
- [RESTful API Designs](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/backend-enterprise-systems/data-persistence-architectures/restful-api-designs.md) — Go's RESTful API design capabilities using standard HTTP methods and resource mapping to expose and manage backend services. ([source](https://cdn.jsdelivr.net/gh/rubyhan1314/golang-100-days@master/README.md))
- [Tutorials](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/backend-enterprise-systems/data-persistence-architectures/restful-api-designs/tutorials.md) — Guides on designing RESTful API endpoints using standard HTTP methods and resource mapping.
- [Go-Micro Framework Tutorials](https://awesome-repositories.com/f/software-engineering-architecture/go-microservices-architectures/go-micro-framework-tutorials.md) — Go's microservice creation, configuration, and connection using the Go-Micro framework, including event-driven communication. ([source](https://cdn.jsdelivr.net/gh/rubyhan1314/golang-100-days@master/README.md))

### Web Development

- [gRPC Service Implementations](https://awesome-repositories.com/f/web-development/api-management-tools/api-development-management/api-client-implementations/grpc-service-implementations.md) — Implements remote procedure calls using gRPC with generated client-server stubs for inter-service messaging.
- [Beego and Iris Implementations](https://awesome-repositories.com/f/web-development/full-stack-web-frameworks/beego-and-iris-implementations.md) — Building full-stack web projects using Beego or Iris frameworks with routing, controllers, models, and session management.
- [REST Resource Mapping](https://awesome-repositories.com/f/web-development/rest-resource-mapping.md) — Designs API endpoints by mapping HTTP methods to backend resources following standard REST conventions.
- [Beego Framework Tutorials](https://awesome-repositories.com/f/web-development/go-web-frameworks/beego-framework-tutorials.md) — Go's full-stack web project creation using the Beego framework, including routing, controllers, models, and session management. ([source](https://cdn.jsdelivr.net/gh/rubyhan1314/golang-100-days@master/README.md))
- [Iris Framework Tutorials](https://awesome-repositories.com/f/web-development/go-web-frameworks/iris-framework-tutorials.md) — Go's web application development using the Iris framework, covering routing, MVC structure, and session handling. ([source](https://cdn.jsdelivr.net/gh/rubyhan1314/golang-100-days@master/README.md))
