Golang Interview Question

Golang, the language of choice for backend development has become quite famous recently. Ever since Google announced its open-source in 2015, this language has been gaining popularity with developers worldwide. Today we are living in a multi-platform world where we have to develop applications to run on various devices on the go. Java was at one time the pinnacle but with its slow run time, it couldn't stand up to the need for mobility at this point. Go on the other hand is interpreted, statically typed, and is compatible with Linux/Unix environments out of the box. This makes it an excellent choice for cross-platform mobile development as well as cloud deployment architectures like AWS Lambda and Azure Functions.

Q1. What is Golang?

  • Golang is an open-source programming language first created in the year 2007 and first released to the public in the year 2009.
  • Golang was created by Robert Griesemer, Ken Thompson, and Rob Pike to solve day-to-day problems faced by developers at Google.
  • Golang was later used in google products like chrome, firebase, and by the google production team.

Q2. What are the advantages of using golang?

  • Golang is a completely open-source programming language and is supported by Google itself
  • It is very easy to learn and implement.
  • Golang has an inbuilt concurrency feature and has a large community of libraries.
  • Golang is one of the most popular programming languages as stated by a LinkedIn survey in 2021. 
  • Golang has a very large community and ecosystem of developers, communities, and tools.

Q3. What are the industries where golang is been used?

  • Cloud & Network Services - Golang provides a huge ecosystem of tools and APIs for the majority of cloud service providers like google cloud platformaws, and azure.
  • Command-line Interface - You can use golang to create robust CLI using its large sets of APIs. 
  • Web Development - Golang is highly preferred for web development because of its memory performance and scalability.
  • DevOps & Site Reliability - Because of going fast build time and automatic formatter golang is highly preferred for DevOps.

Q4. What is the package used to format code in golang?

  • In Golang formatting, the code is much easier as the machine takes care of most of the formatting issues.
  • The gofmt package in Golang takes care of formatting and emits the code in standard style and in the vertical format.

Q5. What are golang formatting rules?

  • Indentation - Golang uses tabs for indentation and gofmt by default takes care of it.
  • Line Length - Golang has no upper limit for line length. If you feel the line getting too long just use an extra tab to indent it.
  • Parentheses - Golang only uses parentheses with if, for, and switch. It is much lesser than other programming languages like C, C++, and Java.

Q6. What is the difference between variables and constants in golang?

  • Variable in Golang or any other programming language is used to hold the data value. It could hold the value of type int, float, string, boolean, etc.
  • Variables in Golang are defined using the keyword var.
  • Constants in golang are created in the same way as variables but it starts with the const keyword
  • Constants in go are created at the compile time. Even if they are defined in the functions they run at compile time.

Q7. What are zero values in golang?

  • Variables that are defined without any initial value in Golang are known as Zero Value variables.
  • For int type zero value is 0.
  • For Boolean it is false.
  • For strings it is "".