Skip to content

Memorize and perfect your Go movements 🥋

License

Notifications You must be signed in to change notification settings

open-house/gokatas

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Reference Go Report Card

Practice yourself, for heaven's sake, in little things; and thence proceed to greater. -- Epictetus

Go katas

Katas (å½¢) are practiced in martial arts as a way to memorize and perfect the movements being executed. Let's try the same with code. The approach is pretty low-tech. It's a list of packages and commands that you should be rewriting from scratch or at least partially. There's a command to visualize your progress:

$ go run cmd/katas.go
Kata                         Last done       Count
----                         ---------       -----
areader              11 days ago (Fri)           1
bytecounter           8 days ago (Mon)           1
clock2                8 days ago (Mon)           1
----                                         -----
3                                                3

Go katas should be useful for folks trying to learn to program in Go and/or for those who don't get to program every day but still want to keep their skills fresh (e.g. sysadmins, devops or security people).

It's important to practice regularly, to create a habit. Start by taking baby steps, e.g. 15 minutes a day. After some time it will require much less will power, it will become natural for you.

Initial setup

  1. Install Go or run inside a container: docker run --rm -it golang /bin/bash.

  2. Fork and then clone the repo: git clone git@github.com:<you>/gokatas.git.

  3. Start practicing:

cd gokatas
go doc

About

Memorize and perfect your Go movements 🥋

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%