# Thoughts on Golang

Golang is a language made by Google back in 2009. It's widely used internally and outside. 2 years ago I built a large project using it. Now that I am working on it again, I've realized a few things.

# Features

What you'll read everywhere is that:

• it compiles extremely fast.
• it is made for multi-threading. They are called subroutines, are much lighter-weight than regular threads, and much safer to use.
• it is more readable and less prone to error than C.
• it is cross-platform. It can compile and run on Linux, Mac and Windows.
• it is easy to learn. It has much fewer keywords and constructs than other languages.

# Thoughts

It does deliver on the promise of fast compilation and being cross-platform.

I am not so sure about being easy to learn. Its syntax is completely different from other languages. Since it is made to be simple, it also misses libraries that I would have expected to be there. Here's a list of basic things I have a hard time remembering.

Checking if a map contains an element:

if _, ok := dict["foo"]; ok {
// Do something.
}


# References

Since I keep forgetting how to do things in Golang, I've had to use those references: