Go Introduction
What is Go?
- Go is a cross-platform, open source programming language
- Go can be used to create high-performance applications
- Go is a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language
- Go was developed at Google by Robert Griesemer, Rob Pike, and Ken Thompson in 2007
- Go's syntax is similar to C++
What is Go Used For?
- Web development (server-side)
- Developing network-based programs
- Developing cross-platform enterprise applications
- Cloud-native development
Why Use Go?
- Go is fun and easy to learn
- Go has fast run time and compilation time
- Go supports concurrency
- Go has memory management
- Go works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc.)
Go Compared to Python and C++
Go | Python | C++ |
---|---|---|
Statically typed | Dynamically typed | Statically typed |
Fast run time | Slow run time | Fast run time |
Compiled | Interpreted | Compiled |
Fast compile time | Interpreted | Slow compile time |
Supports concurrency through goroutines and channel | No built-in concurrency mechanism | Supports concurrency through threads |
Has automatic garbage collection | Has automatic garbage collection | Does not have automatic garbage collection |
Does not support classes and objects | Has classes and objects | Has classes and objects |
Does not support inheritance | Supports inheritance | Supports inheritance |
Notes:
- Compilation time refers to translating the code into an executable program
- Concurrency is performing multiple things out-of-order, or at the same time, without affecting the final outcome
- Statically typed means that the variable types are known at compile time
Get Started
This tutorial will teach you the basics of Go.
It is not necessary to have any prior programming experience.
Get Started »