golang icon indicating copy to clipboard operation
golang copied to clipboard

maintains MUST READ golang articles

golang

maintains MUST READ articles

Quick Tutorial

Language Design

When reading code, it should be clear what the program will do.
When writing code, it should be clear how to make the program do what you want.

Leading edge language features don't usually address what you really want.
Golang is designed for large applications, large teams and large dependencies.

Tools

Idiomatic Go

Concurrency

Concurrency is about structure, while Paralleism is about execution

Error Handling

Error values in Go aren’t special, they are just values like any other, and so you have the entire language at your disposal.

Go solves the exception problem by not having exceptions.
... The decision to not include exceptions in Go is an example of its simplicity and orthogonality. Using multiple return values and a simple convention, Go solves the problem of letting programmers know when things have gone wrong and reserves panic for the truly exceptional.

Knowing the difference between which errors to ignore and which to check is why we’re paid as professionals.

Interface

If C++ and Java are about type hierarchies and the taxonomy of types, Go is about composition

Q. Hey gophers, what was the best/worst moment of your experienes lenaring golang?
A. The worst was interface, but the best was also interface

Struct

Pointer

Map, Slice

Logging

Encoding, JSON