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.
Prerequisites
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++
Go | Python | Java | 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 |