Go Green: Setting Up Go and Crafting a Basic 'Hello World' Project in GoLang
MetricsViews Private Limited
Building A Solid DevOps Strategy With Cloud Native.
In this article, we delve into the fundamentals of Go (Golang), highlighting its origin, key differences compared to Java, and its prowess in backend development. Exploring its history, advantages in performance, and package management, we also provide a step-by-step guide to installing Go on Visual Studio Code. This piece aims to equip beginners with the necessary knowledge and tools to embark on a "Hello World" project using Go, simplifying the installation process and setting up the development environment for seamless coding in Golang.
?
Skills Required:
?
·?Basic Programming Knowledge: Understanding fundamental programming concepts like variables, data types, loops, conditional statements, and functions.
·?Basic Command line interface (CLI): Comfort with navigating through the command line interface is beneficial as you might need to execute commands to install Go and manage your Go projects.
·?Understanding of Development Environments: Basic knowledge of working in an Integrated Development Environment (IDE) or a text editor like Visual Studio Code can be advantageous for setting up the Go development environment.
?
Go Programming Language:?
?
Go was originally built for programs related to networking and infrastructure. It was intended to replace popular high-performance server-side languages like Java and C++. Go, also called Golang or Go language. It is an open-source programming language developed by Google.?
?
The history of Go:
?
Google created Golang to solve its software engineering issues and to provide an alternative to C++.?Google began designing Go in 2007 by?Robert Griesemer, Rob Pike, Ken Thompson and in 2009 Google announced Go is an open-source project where community members could collaborate on ideas and code. Version 1.0 was later released in 2012.?
?
Golang vs. Java: Performance
?
Concurrency:
·??Golang has built-in support for concurrency with go-routines and channels.
·??Java has concurrency features like threads and synchronized blocks.
?
Compilation:
·??Golang is a compiled language with fast compilation times.
·??Java is c compiled language that can also be interpreted through the use of a JVM.
?
Garbage collection:
·?Golang has a concurrent garbage collector which does not stop the program execution.
·?Java has a garbage collector that may pause the program execution to free memory.
?
Package management:
·?Golang has a built-in package management system called “go modules”.
·?Java uses external package management tools like Maven and Gradle.
?
Performance:
·??Golang is known for high-performance and low-latency processing capabilities.
·??Java is relatively slower in terms of performance due to its virtual machine architecture.
?
Installation of Go on Visual Studio Code:
?
?
Setting environment variable on windows:
·?????? Go to Edit the system environment variables (control panel).
领英推荐
·?????? Click on Environment variables button.
·?????? Click on New Button and Go path here.
·?????? Choose Go path. (ex: C:\Users\<Your_AdministratorName>\go)
·?????? Click ok.
?
Installation of Go on Visual Studio Code:
·?????? Open Visual Studio Code.
·?????? Go to Extension.
·?????? Search extension – Go (by golang.go)
·?????? Click on install button.
·?????? Once it installed you are ready to work on Golang projects.
?
Simple HelloWorld Programme:
?
·?????? Create hello-world directory.
cd mkdir hello-world
(Type it in cmd)
·?????? Type “code .” to open Visual Studio code
·?????? Create a file with filename as – main.go
·?????? Type? below code,
?
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}
?
·?Open the terminal and run the below command,
go run hello-world/main.go
O/P:
Hello World!
?
Below is the explanation of the above code:?
?
·?Package main – We are declaring a package called main here because will need to declare the main() function, which can only be declared in a package named main.
·?Import “fmt” – The fmt package provides functions to print.
·?func main() – The main() is a special function that is executed first when the program starts. ?The main() function in Go should always be declared in the main package.
·?fmt.Println(“Hello world!”) – It prints the passed argument to the standard output together with a new line.
?
Conclusion:
Go (Golang) stands as a powerful language for backend development renowned for its concurrency support and performance advantages over established languages like Java. Installation of Go on visual studio code sets the stage for seamless Go development, empowering beginners to initiate coding journeys effortlessly.
?
Credit- Madhumati Swami
MetricsViews Pvt. Ltd.
MetricsViews specializes in building a solid DevOps strategy with cloud-native including AWS, GCP, Azure, Salesforce, and many more.? We excel in microservice adoption, CI/CD, Orchestration, and Provisioning of Infrastructure - with Smart DevOps tools like Terraform, and CloudFormation on the cloud.