[go] Sort 패키지의 사용법

Go 언어에서는 sort 패키지를 사용하여 슬라이스나 사용자 정의 타입을 정렬할 수 있습니다. 이 패키지를 사용하면 슬라이스의 요소들을 쉽게 정렬할 수 있으며, 필요에 따라 사용자 정의 정렬 기준을 적용할 수도 있습니다.

기본 정렬

가장 간단한 형태의 정렬을 살펴보겠습니다. 다음은 정렬할 슬라이스를 작성하고 sort 패키지의 Sort 함수를 사용하여 정렬하는 예제입니다.

package main

import (
    "fmt"
    "sort"
)

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

위의 예제에서 sort.Ints 함수를 사용하여 정수형 슬라이스를 정렬했습니다.

사용자 정의 정렬

sort 패키지를 사용하여 사용자 정의 타입에 대한 정렬도 가능합니다. 다음 예제는 사용자 정의 타입을 가진 슬라이스를 정렬하는 방법을 보여줍니다.

package main

import (
    "fmt"
    "sort"
)

type Person struct {
    Name string
    Age  int
}

type ByAge []Person

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

func main() {
    people := []Person{
        {"John", 30},
        {"Jane", 25},
        {"Doe", 35},
    }

    sort.Sort(ByAge(people))
    fmt.Println(people)
}

위의 예제에서 sort.Sort 함수를 사용하여 ByAge 타입에 대한 정렬을 수행했습니다.

sort 패키지를 사용하여 슬라이스나 사용자 정의 타입을 정렬하는 방법을 살펴보았습니다. 이러한 기능을 활용하여 Go 언어에서 효과적으로 정렬을 수행할 수 있습니다.

또한, Go 언어 공식 문서에서 sort 패키지에 대한 더 자세한 정보를 찾을 수 있습니다.