Skip to main content

Go

Download

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.)

Six Main Points about Go

  1. Statically Typed Language
  2. Strongly Typed Language
  3. GO is Compiled (faster than python 120x)
  4. Fast Compile Time
  5. Built In Concurrency (Goroutines)
  6. Simplicity

Go - Pros and Cons

Pros

  • Easy to learn/use
  • Simple!
  • Great concurrency support

Cons

  • not as performant
  • not memory safe

Go VS Python and C++

GoPythonC++
Statically typedDynamically typedStatically typed
Fast run timeSlow run timeFast run time
CompiledInterpretedCompiled
Fast compile timeInterpretedSlow compile time
Supports concurrency through goroutines and channelNo built-in concurrency mechanismSupports concurrency through threads
Has automatic garbage collectionHas automatic garbage collectionDoes not have automatic garbage collection
Does not support classes and objectsHas classes and objectsHas classes and objects
Does not support inheritanceSupports inheritanceSupports inheritance

Comparing Go Web Frameworks

https://medium.com/@chaewonkong/comparing-go-web-frameworks-25bf93524a6a