[go] Sort 패키지를 이용한 예제 코드

이 예제에서는 Go 언어의 sort 패키지를 사용하여 데이터를 정렬하는 방법에 대해 살펴보겠습니다.

데이터 정렬하기

다음은 sort 패키지를 사용하여 정수형 슬라이스를 오름차순으로 정렬하는 예제 코드입니다.

package main

import (
	"fmt"
	"sort"
)

func main() {
	data := []int{5, 2, 6, 3, 1, 4}
	sort.Ints(data)
	fmt.Println("정렬된 결과:", data)
}

이 예제에서는 sort.Ints() 함수를 사용하여 data 슬라이스를 오름차순으로 정렬합니다. 정렬된 결과는 fmt.Println을 통해 출력됩니다.

사용자 지정 정렬

때로는 사용자가 정의한 방식에 따라 데이터를 정렬해야 할 수도 있습니다. 다음은 문자열을 길이에 따라 정렬하는 사용자 지정 정렬 함수를 정의한 예제 코드입니다.

package main

import (
	"fmt"
	"sort"
)

type ByLength []string

func (s ByLength) Len() int {
	return len(s)
}

func (s ByLength) Swap(i, j int) {
	s[i], s[j] = s[j], s[i]
}

func (s ByLength) Less(i, j int) bool {
	return len(s[i]) < len(s[j])
}

func main() {
	data := []string{"apple", "banana", "orange", "grape"}
	sort.Sort(ByLength(data))
	fmt.Println("정렬된 결과:", data)
}

이 예제에서는 sort.Sort() 함수를 사용하여 길이에 따라 문자열 슬라이스를 정렬합니다. 사용자 지정 정렬 함수를 구현하기 위해 Len(), Swap(), Less() 메서드를 정의합니다.

결론

이렇게 Go 언어의 sort 패키지를 사용하여 데이터를 간단하게 정렬할 수 있습니다. 사용자가 정의한 기준에 따라 데이터를 정렬하는 것 또한 간단하게 구현할 수 있는데요, sort 패키지는 강력하면서도 유연한 기능을 제공하여 다양한 정렬 요구사항을 충족시킬 수 있습니다.

더 자세한 내용은 Go 공식 문서의 sort 패키지를 참고하시기 바랍니다.