no classes, but methods on types, which are functions with a special
receiver argument (see Methods);
interface type is defined as a set of method signatures and a value of
such type can hold any value that implements those methods (see
Interfaces);
error state is expressed with error values (see
Errors);
type parameters and generic types are the way Go implements generics
since version 1.18 (see
Type parameters,
Generic types);
goroutines are a lightweight threads managed by the Go runtime (see
Goroutines), which communicate and
synchronize through channels (see
Channels) as sends and receives on
channels block until the other side is ready;
Usage
To build the exercises do the following:
Clone the repository (e.g. in your home directory):
git clone --recurse-submodules https://github.com/gdsotirov/go-tour.git
cd go-tour