How To Concatenate Two Slices in Go

Venter C.
jump to solution

The Problem

You don’t know how to concatenate two slices in Go.

The Solution

In Go, the append() function can be used to concatenate two slices by appending one to the other.

The following example demonstrates how append() is used to merge two integer slices into one:

package main

import "fmt"

func main() {
	slice1 := []int{1, 2, 3}
	slice2 := []int{4, 5, 6}

	// Concatenate slices
	concatenated := append(slice1, slice2...)

	fmt.Println("Concatenated Slice:", concatenated)
}

This returns the following output:

Concatenated Slice: [1 2 3 4 5 6]

Note: The ... operator is used to unpack the elements of the second slice when passing it to the append() function.

Slices are a fundamental data type in Go. Combining slices in this way allows you to create a new slice that contains the elements of both input slices. This approach works for slices of any data type, not just integers. Simply change the string types (for example, from []int to []string or []byte).

Further reading

Concatenating strings in Go
Clive B.
Optional functional parameters in Go
Clive B.
Checking if a string is empty in Go
Clive B.
Reading a file line by line in Go
Clive B.

Considered "not bad" by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world's best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

Sentry