When we start learning a new programming language, we typically start by writing the classic “Hello, World” program.
So Let’s write the “Hello, World” program in Go and understand how it works. Open your favorite text editor, create a new file named hello.go
, and type in the following code -
// My first Program
package main
import "fmt"
func main() {
fmt.Println("Hello, World")
}
You can run the above program using go run
command like so -
$ go run hello.go
Hello, World
The go run
command does two things - It first compiles the program to machine code and then runs the compiled code.
If however, you want to produce a standalone binary executable from your Go source that can be run without using the Go tool, then use the go build
command -
$ go build hello.go
$ ls
hello hello.go
You may now run the built binary file like this -
$ ./hello
Hello, World
Understanding the internals of the “Hello, World” program
Let’s go through each line of the “Hello, World” program one by one and understand what it does-
Line 1: The first line that starts with
//
is a comment -// My first Program
Comments are ignored by the Go compiler. They are used to make it easier for others to understand your code.
Go supports two different styles of comments -
Single-line comment
// This is a Single line Comment. Everything in this line is ignored by the compiler
Multi-line comment
/* This is a Multi line Comment. As the name suggests, It can span multiple lines. */
Line 2: The second line is a package declaration -
package main
Every Go program starts with a package declaration. Packages are used to organize related go source code files into a single unit and make them reusable.
The package “main” is a special go package that is used with programs that are meant to be executable.
There are two types of programs in Go - Executable Programs and Libraries. Executable Programs are programs that can be run from the command line. Libraries are reusable pieces of code that are used by other programs to perform some task.
Line 3: The third line is an import statement -
import "fmt"
The
import
keyword is used to import reusable pieces of code from other packages to use in our program.The “fmt” package contains code for dealing with I/O.
Line 4: The fourth line is a function declaration -
func main() { // ... }
A function is a unit of code that contains one or more instructions to perform a task. We typically break a program into smaller functions that take some input, do some processing on the input, and produce an output.
A function in go is declared using the
func
keyword.The
main()
function is the entry point of an executable program in Go. It is the first thing that is invoked when you run an executable program.Line 5: This line contains a call to the
Println()
function of thefmt
package -fmt.Println("Hello, World")
We pass the String “Hello, World” to the
Println()
function which prints it to the standard output along with a new line.
Conclusion
Congratulations! You just wrote your first program in Go. Thank you for reading and making it till the end.
Stay tuned and subscribe to my newsletter to get news about my upcoming tutorials on Golang.
Next Article: Golang Variables, Zero Values, and Type inference
Code Samples: github.com/callicoder/golang-tutorials