How to Sort Array in Golang

1. Introduction

Sorting is a common operation in programming when you want to order elements in a list. In Go, sorting an array or a slice is straightforward, thanks to the sort package in the standard library. This post will show how to sort an array of integers in Go using the sort package.

Definition

Sorting in Go involves reordering the elements of an array (or a slice) so that they meet a specific condition, usually either in ascending or descending order. The sort package contains functions like sort.Ints and sort.Sort to sort slices of basic types and user-defined types, respectively.

2. Program Steps

1. Create an array (or slice) of integers.

2. Convert the array to a slice if you're working with an array.

3. Use the sort.Ints function to sort the slice.

4. Print the sorted slice to verify the results.

3. Code Program

package main

import (
	"fmt"
	"sort"
)

func main() {
	// Step 1: Create a slice of integers (Go's sort functions require a slice, not an array)
	numbers := []int{7, 2, 4, 8, 1, 3}

	// Step 2: Use sort.Ints to sort the slice
	sort.Ints(numbers)

	// Step 3: Print the sorted slice
	fmt.Println("Sorted numbers:", numbers)
}

Output:

Sorted numbers: [1 2 3 4 7 8]

Explanation:

1. package main - Defines the main package.

2. import "fmt" and import "sort" - Import the necessary packages for formatting and sorting functionality.

3. numbers is a slice of integers that needs to be sorted.

4. sort.Ints(numbers) - Calls the sort.Ints function from the sort package, which sorts the slice of integers in-place in ascending order.

5. fmt.Println - Prints the sorted slice.

6. The output shows the numbers sorted in ascending order.

7. Note that while the example uses a slice (as Go's sort functions require slices), if you have an array, you can convert it to a slice with myArray[:] and then sort it.


Comments