When I started learning GO language I did not understand where to start. However, I quickly understood that the best way to learn is to build stuff I am interested in. So This repository contains all the projects I have created while learning GO language. I will be adding seperate README files for each project. They are listed below.
For running and building any of these projects, you will need GO installed.
Project specific dependancies will be mentioned in their respective README files
For linux distributions its a simple process of installing go using your package manager.
# Arch Linux
sudo pacman -S go
# Debian / Ubuntu bases Distros
sudo apt-get install go
Installing any language in Windows tends to create many problems (Mostly $PATH problems). So I've come up with a good solution. We will use Windows Utility by Chris Titus Tech on Youtube
This utility uses winget for installation.
- First open a powershell window in administrator mode
- Enter the following command:
irm "https://christitus.com/win" | iex
- A GUI window will open up.
- Go to
Install
tab (if not already there) and selectGo
from the list - Click
Install Selected
button above the list - You can check the installation progress in the original powershell window
- Tic Tac Toe CLI game using alternate screen buffers
- Basic Webserver This project does not do anything useful other than creating a basic webserver
- Todo list A webapp using standard library
- Morse Code A cli text to morse code converter
These are the learning resources I've used or I am planning to use while learning go language
- Go by Example is my go to website for learning go syntax
- Golang Projects Playlist by Akhil Sharma on Youtube
- Gophercises is a website which with great project based exercises
- Let's Go Further is a great website for learning advanced patterns for learning to create APIs and web apps
- Learn Go with Tests is a website to learn test driven development with go
- Exercism is a free learning website for a lot of languages. It uses interactive exercises to teach you.