• Stars
    star
    607
  • Rank 73,845 (Top 2 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created about 2 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

rustlings but for golang this time

golings

build and test

gopher

rustlings but for golang this time

You may know rustlings, right? If you don't, please go ahead and check out. rustlings is awesome. It is a CLI app designed to teach the awesome Rust programming language through exercises.

golings has the very same idea, but for the Go programming language

After setting up all the tools required to run golings you have the task to fix tiny go programs.

Installing

First, you need to have go installed. You can install it by visiting the Go downloads page

There are two ways to install golings

go install

go install github.com/mauricioabreu/golings/golings@latest

Binaries

Go to the releases page and choose the option that best fits your environment.

Web version (playground)

@Grubba27 worked hard to create a web version: https://golings.vercel.app/

It's pretty awesome and uses the playground so you can play with the exercises without installing anything.

Doing exercises

All the exercises can be found in the directory golings/exercises/<topic>. For every topic there is an additional README file with some resources to get you started on the topic. We really recommend that you have a look at them before you start.

Now you have the task to fix all the programs. Some of them don't compile, and you need to fix them. Some of them compile, but have tests and you need to write some code to have them all green (these are the compile and test modes).

Clone the repository:

git clone [email protected]:mauricioabreu/golings.git

To run the exercises in the recommended order while taking advantage of fast feedback loop, use the watch command:

golings watch

This command will run golings in interactive mode. Every time you save a file it will verify if the code is correct.

To run the next pending exercise:

golings run next

If you want to run a single exercise:

golings run variables1

In case you are stuck and need a hint:

golings hint variables1

To list all exercise while checking your progress:

golings list

To compile and run all the exercises:

golings verify

If you need help with CLI commands:

golings --help

A demo running the command golings run <exercise name>

demo

Contributing

See CONTRIBUTING.md

Learning resources

Other 'lings

More Repositories

1

dicas-para-processo-seletivo

Dicas de como desenvolver os desafios técnicos e preparação para a entrevista
33
star
2

construindo-seu-proprio-chat

Um livro que vai te guiar na construção de um chat, entendendo sobre protocolos, redes e programação
29
star
3

nginx_rtmp_prometheus

Prometheus exporter for NGINX-RTMP
Go
27
star
4

video_samples

Generate thumbs from live streamings and videos on demand
Go
25
star
5

manifest-modifier

Video manifest modifier written in Rust
Rust
21
star
6

now-live

Open source live streaming platform
Go
17
star
7

todo-backend-kemal

Kemal version
Crystal
12
star
8

django-rest-framework-orjson

Provides parser and renderer support for orjson library
Python
12
star
9

tutorial-de-go

Go
11
star
10

pubsub

Publish/Subscribe implementation written in go
Go
7
star
11

goftp

FTP server written in golang
Go
7
star
12

rinha-de-backend-2023-q3

Lua
7
star
13

go-hangman

Hangman game written in golang
Go
7
star
14

azion-python

Python client to interact with Azion's ReST API
Python
7
star
15

lang-studies

Haskell
6
star
16

smart-monkey

Go
6
star
17

protohackers

Go
6
star
18

chip8.rs

Rust
6
star
19

nginx-intro

Python
6
star
20

crystal-ipify

Crystal client for ipify: https://www.ipify.org/
Crystal
6
star
21

hacker-rank

Hacker Rank challenges
Python
5
star
22

lua-m3u8

m3u8 parser/generator written in Lua language
Lua
5
star
23

dynamic-dns-resolver-demo

Dynamic DNS resolving demo
Makefile
5
star
24

contributors.cr

:octocat: List all contributors of a given Github project
Crystal
5
star
25

shortify

URL shortener
Go
4
star
26

checkio

checkio code - please, there are some spoilers here
Python
4
star
27

owl-cms

Simple CMS written in Crystal lang
Crystal
4
star
28

garden

my notes, my thoughts, my feelings
4
star
29

building-a-live-streaming-platform

Code for the "Building a live streaming platform" post
Go
3
star
30

build-your-own-reverse-proxy

3
star
31

todo

A todo application
Python
3
star
32

bojack-py

🐴 🐍 BoJack client written in Python
Python
3
star
33

calendar

A microservice to return Google calendar objects written in Python
Python
3
star
34

a-fast-api

Go
2
star
35

AdventOfCode2022

2
star
36

go-challenges

Solving go challenges
Go
2
star
37

slow_http_attack

Go
2
star
38

mentoril

Go
2
star
39

requireits

Check your Python requirements the easy way
Python
2
star
40

crystal-legends

League of Legends API wrapper written in Crystal
Crystal
2
star
41

clonery

Django library to clone objects and their relationships
Python
1
star
42

nginx_bytes_range

Makefile
1
star
43

fifinha

Go
1
star
44

AdventOfCode2019

Go
1
star
45

tld-extract.cr

Top Level Domain parser written in Crystal lang
Crystal
1
star
46

codekata

Katas from http://codekata.com/
Go
1
star
47

temperature_tracker

Simple temperature tracker
Python
1
star
48

mauricioabreu

1
star
49

my-cache-haz-a-problem

Shell
1
star
50

manifest-manipulator

Go
1
star
51

cqrs-tutorial

Learning CQRS through http://cqrs.nu/tutorial/cs/01-design
Python
1
star
52

smooth-streaming-ffmpeg

ffmpeg compatible with Smooth Streaming
Dockerfile
1
star
53

lb-algorithms

LB algorithms explained (NGINX examples included!)
1
star
54

live-encoder

Ruby
1
star
55

nginx-upstream-healthcheck-demo

Trying out the lua-resty-upstream-healthcheck lib
1
star
56

photo-downloader

Download your social network photos
1
star
57

concorrencia-talk

Código da talk sobre concorrência em go
Go
1
star
58

todo-backend-lua-nginx

Todo backend powered by NGINX and Lua
Python
1
star
59

nginx-gzip-content-length

Makefile
1
star
60

AdventOfCode2018

Advent of Code 2018 solutions in go
Go
1
star
61

g2o-lua

Set g2o headers to authenticate g2o (Akamai "go to origin") requests
Lua
1
star
62

export-apache-metrics

How to export Apache metrics using grok exporter
Dockerfile
1
star
63

elixir-exercises

My solutions for Elixir exercises (Programming Elixir book)
Elixir
1
star
64

gossip-glomers

Solving https://fly.io/dist-sys/
Go
1
star
65

tcp_nodelay_demo

Using the TCP_NODELAY flag
Go
1
star