Tutorials References Exercises Videos Menu
Create Website Get Certified Upgrade

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 »