Skip to content

toniDefez/learnGoWithTests

Repository files navigation

# Learn Go with Tests - Go Fundamentals

Welcome to the **Learn Go with Tests - Go Fundamentals** project! This repository contains my implementation of the exercises and concepts from the book [Learn Go with Tests](https://quii.gitbook.io/learn-go-with-tests/go-fundamentals). This book is an excellent resource for learning Go while following test-driven development (TDD) principles.

## About the Project
The project is structured to cover the fundamentals of Go programming as presented in the book. Each chapter introduces new concepts with practical examples, focusing on writing clean, testable code. This repository serves as a hands-on companion to the book, helping reinforce the concepts through implementation.

### Key Features:
- **Test-Driven Development (TDD):** Write tests first and implement functionality to pass those tests.
- **Go Fundamentals:** Learn about functions, structs, methods, interfaces, concurrency, and more.
- **Practical Exercises:** Solve real-world problems to solidify understanding.

## Prerequisites

Before you begin, ensure you have the following installed on your local machine:

- [Go](https://golang.org/dl/) (version 1.20 or later recommended)
- A code editor (e.g., [Visual Studio Code](https://code.visualstudio.com/))
- [Git](https://git-scm.com/)

## Project Structure
The repository is organized as follows:

```
learn-go-with-tests/
├── chapter-1/
│   ├── example_test.go
│   └── implementation.go
├── chapter-2/
│   ├── example_test.go
│   └── implementation.go
├── ...
└── README.md
```

- Each chapter folder corresponds to a chapter from the book.
- `README.md` files within chapters provide specific information about the exercises and implementations.
- Test files (`*_test.go`) contain unit tests for the implemented code.

## Getting Started

1. Clone this repository to your local machine:
   ```bash
   git clone https://github.com/your-username/learn-go-with-tests.git
   cd learn-go-with-tests
   ```

2. Navigate to the chapter you want to explore:
   ```bash
   cd chapter-1
   ```

3. Run the tests:
   ```bash
   go test
   ```

4. Explore the implementation and modify it as needed.

## Contributing

Contributions are welcome! If you spot any issues or have suggestions for improvement:

1. Fork the repository.
2. Create a new branch for your changes.
3. Commit your changes and push the branch.
4. Open a pull request.

## Resources

- [Learn Go with Tests](https://quii.gitbook.io/learn-go-with-tests/)
- [Go Documentation](https://golang.org/doc/)
- [Effective Go](https://golang.org/doc/effective_go.html)

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

---

Happy coding and enjoy learning Go!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages