/100-golang-exercises

100 challenging programming exercises for golang with solutions

Primary LanguageGoMIT LicenseMIT

100+ challenging Golang programming exercises

These challenges come from a file called "100+ Python challenging programming exercises" I found somewhere on the internet. I want to rewrite all exercises for Golang!

I will update the file along with me rewriting the solutions provided in Python. Furthermore, I will also put a file for each solution into a subdirectory, so it can be run locally. Some smaller single file solutions can also be run in the Golang playground (https://play.golang.org).

This is also a training for myself to learn the language and to exercise writing code. I also want to write tests for most of the apps, because I think, tests are always forgotten, and I also should write more tests when writing code.

The exercises for the different levels (see below) are split into the respective files.

But before that, here are the links to the files:

Level description

Here is the original description of the python file for the different exercises.

Level 1 Beginner

Beginner means someone who has just gone through an introductory Golang course. He can solve some problems with 1 or 2 Golang classes or functions. Normally, the answers could directly be found in the textbooks.

Level 2 Intermediate

Intermediate means someone who has just learned Golang, but already has a relatively strong programming background from before. He should be able to solve problems which may involve 3 or 3 Golang classes or functions. The answers cannot be directly be found in the textbooks.

Level 3 Advanced

Advanced means you should use Golang to solve more complex problem using more rich libraries functions and data structures and algorithms. The user is supposed to solve the problem using several Golang standard packages and advanced techniques.

Remark

This repository is in no way complete and should be considered complete. I’m still learning the language go myself and there are still some bugs here and there. If you find one, please let me know. Gladly also by a pull request.

Thanks