Golang
go programming language
Contents
Golang
A System Programming Language
Go is a powerful, efficient and easy-to-learn programming language that excels in various fields. You can work with system programming, web programming, cloud services, etc. The support for concurrency makes a great choice for modern software development.
The language was created in 2007, inside Google, it was designed to be a fast, reliable, and efficient language, that helps the developer to handle the complexity with simplicity.
Basic Sintax
- Variables
var myVar int = 42
or
myVar := 42
- Functions
func add(x, y int) int {
return x + y
}
- Comments
// this is a single-line comment
/* this is a
multi-line
comment
*/
Pros
- Efficiency: with exceptional performance, making it a suitable choice for system programming, network services, and high-concurrency applications.
- Concurrency: designed with concurrency in mind. It provides goroutines and channels, making it easy to write concurrent and parallel programs.
- Simplicity: has a clean and straightforward syntax with a minimalistic approach, which reduces the learning curve for new developers.
- Strong Typing: statically-typed language, which helps catch errors at compile-time, improving code reliability.
- Built-in tools: it comes with a rich set of tools, such as the gofmt code formatter and the go get package manager.
Cons
- Lack of generics (this point was solved in Go 1.19 version): the language lacked support for generics.
- Small Standard Library: while Go’s STL is well-organized, it is intentionally kept small.
Minimal program
import "fmt"
func main(){
fmt.Println("hello world!")
}
Basic hello world
The basic hello world is the equal to the minimal program to write in Golang.