How To Concatenate Two Slices in Go
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
- The Appending to and copying slices section of The Go Programming Language Specification
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.