[go] Sort 패키지를 이용한 배열 정렬

Go 언어에서 배열을 정렬하는 방법에 대해 알아보겠습니다. Go 언어는 내장된 sort 패키지를 통해 간편하게 배열을 정렬할 수 있습니다.

배열 정렬하기

Go 언어에서 배열을 정렬하는 방법은 간단합니다. 예를 들어, int형 배열을 정렬할 때는 다음과 같은 방식을 사용할 수 있습니다.

package main

import (
	"fmt"
	"sort"
)

func main() {
	nums := []int{4, 2, 5, 1, 3}
	sort.Ints(nums)
	fmt.Println(nums)
}

위의 예제에서 sort.Ints 함수를 사용하여 nums 배열을 오름차순으로 정렬했습니다.

사용자 정의 타입의 배열 정렬하기

사용자가 정의한 타입을 가진 배열을 정렬할 때는 sort 패키지의 인터페이스를 구현해야 합니다. 예를 들어 Person 구조체를 나이 순으로 정렬하려면 다음과 같이 할 수 있습니다.

package main

import (
	"fmt"
	"sort"
)

type Person struct {
	Name string
	Age  int
}

type ByAge []Person

func (p ByAge) Len() int           { return len(p) }
func (p ByAge) Less(i, j int) bool { return p[i].Age < p[j].Age }
func (p ByAge) Swap(i, j int)      { p[i], p[j] = p[j], p[i] }

func main() {
	people := []Person{
		{"Alice", 25},
		{"Bob", 30},
		{"Eve", 20},
	}
	sort.Sort(ByAge(people))
	fmt.Println(people)
}

위의 예제에서 sort.Sort 함수를 사용하여 people 배열을 나이순으로 정렬했습니다.

이렇게 Go 언어에서는 내장된 sort 패키지를 통해 간단하게 배열을 정렬할 수 있습니다.

자세한 내용은 Go 언어 공식 문서를 참조하세요.