Golang Programming Language
What is Go ?
- Go is a programming language developed at Google by Robert Griesemer, Rob Pike and Ken Thompson in 2007
- Go is expressive, concise, clean and efficient.
- Go is a fast, statically typed, compiled language.
Go Language Features
- Golang is a Compiled Language : Go programs must be compiled before execution.
- Go is Strongly typed language : In go language there is no implicit type conversion of variables.
- Go is Statically typed language : In go language all variable has to be declared before use.
- Go is Multi purpose language : Go language is used for variety of software development purposes like
- Cloud & Network Services
- Command-line Interfaces
- Web Development
- DevOps & Site Reliability
- Go is a Functional programming language : Go does not support classes and objects.
- Go has automatic garbage collection : Go language takes cares of memory management using automatic garbage collector.
Basic understanding of computer programming terminologies. C language proficiency is helpful as Go language syntax is similar to C.
Go vs Python vs Java vs C++
|Compiled||Interpreted||Compiled & Interpreted||Compiled|
|Statically typed||Dynamically typed||Statically typed||Statically typed|
|Fast run time||Slow run time||Slow run time||Fast run time|
|Fast compile time||Slow compile time||Fast compile time||Slow compile time|
|Has automatic garbage collection||Has automatic garbage collection||Has automatic garbage collection||Does not support automatic garbage collection|
|Does not support classes and objects||Has classes and objects||Has classes and objects||Has classes and objects|
|Does not support inheritance||Supports inheritance||Supports inheritance||Supports inheritance|
|Does not support generics||Supports generics||Supports generics||Supports generics|
|Supports concurrency through goroutines and channel||No built-in concurrency mechanism||Supports concurrency through threads||Supports concurrency through threads|