How to Create an Empty Slice in Go

In this tutorial, we will explore the various methods you can use to create an empty slice, which is a slice that does not contain any elements.
Captain Salem 2 min read
How to Create an Empty Slice in Go
How to Create an Empty Slice in Go

A Go slice is a data structure that is very similar to a typical array. However, unlike an array, a slice is more flexible as it does not offer a fixed size. This allows it to grow and shrink as needed in the program. And as you can guess, slices are built on top of arrays.

The var Keyword

The first and most common method of defining an empty array is using the var keyword.

An example is as shown:

var slice []int

In this case, we use the the var keyword to declare a slice. This method does not allocate any memory for slice elements. Since the slice is empty, it has a length and capacity of `0.

The Go make Function

Go also provides us with the make function which allows us to create an empty slice. The function takes a type and size as the arguments. Hence, to create an empty slice, we can run an example code as shown:

slice := make([]int, 0)

In this case, we create an empty slice of integers. Unlike the first method, this method does initialize the slice hence it's not nil but it still has a length and capacity of 0.

Slice Literals

Finally, we have string slices which allows us to create an initialize a Go slice in a simple step. Using string literals, we can omit specifying the slice elements inside the curly braces. Hence, if we provide an empty slice using a pair of curly braces, it should configure a non-nil slice with a length and capacity of 0 as shown:

slice := []int{}

Go Check If Slice is Empty

We can quickly configure a simple check to see whether a slice is empty by checking its length as shown in the example below:

if len(slice) == 0 {
    fmt.Println("The slice is empty.")
} else {
    fmt.Println("The slice is not empty.")

In this example, we use the len function to get the length of the slice. If the length is 0, the slice is empty. Otherwise, it's not.


In this tutorial, we explored various methods and techniques provided by the Go programming language to create an empty slice. Feel free to try out these methods and see which one you prefer.

More from GeekBits

Join us at GeekBits

Join our members and get a currated list of awesome articles each month.

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to GeekBits.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.