/go-katas

my solutions for various katas in golang

Primary LanguageGoApache License 2.0Apache-2.0

Go Katas

Overview

This repository contains a collection of coding katas and their solutions implemented in Go (Golang). Each kata is a small programming challenge that helps in honing your Go programming skills through practice and repetition. The solutions are structured to demonstrate idiomatic Go programming practices and efficient algorithmic solutions.

Repository Structure

Each directory within this repository represents a different kata. Within each directory, you will find at least two files:

  • solution.go: This file contains the Go code implementing the solution to the kata.
  • solution_test.go: This file contains tests for the solution using Go's built-in testing framework.

Getting Started

Prerequisites

Before you can run the solutions in this repository, you will need:

Cloning the Repository

To get started with these katas, clone this repository to your local machine:

git clone https://github.com/yourusername/go-katas.git
cd go-katas

Running the Solutions

To run a specific solution, navigate to the directory of the kata and run the Go file. For example:

cd path/to/kata
go run solution.go

Running the Tests

To execute the tests for a specific solution, use the following command:

go test -v

This command will run the tests associated with the kata's solution, providing verbose output that shows which tests have passed and which have failed.

Contributing

Contributions to this repository are welcome, especially in the form of additional katas and solutions, or improvements to existing solutions.

If you wish to contribute:

- Fork the repository.
- Create a new branch for your contribution (git checkout -b new-kata).
- Add your kata and solution.
- Push the changes to your fork (git push origin new-kata).
- Submit a pull request.

Please ensure your code adheres to clean code principles and is well-commented.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author