[go] Sort 패키지의 실제 사용 사례

Go 언어는 강력한 내장 라이브러리를 제공하여 데이터를 쉽게 정렬할 수 있습니다. Sort 패키지는 다양한 데이터 타입에 대한 정렬을 지원하여 많은 사용 사례에 유용하게 사용됩니다. 이번 포스트에서는 Go의 Sort 패키지를 사용하는 실제 예제에 대해 알아보겠습니다.

1. 정수 슬라이스 정렬

package main

import (
	"fmt"
	"sort"
)

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

이 코드는 정수형 슬라이스를 정렬하는 예제입니다. sort.Ints 함수를 사용하여 정수형 슬라이스를 오름차순으로 정렬합니다.

2. 문자열 슬라이스 역순 정렬

package main

import (
	"fmt"
	"sort"
)

func main() {
	words := []string{"apple", "banana", "cat", "dog"}
	sort.Sort(sort.Reverse(sort.StringSlice(words)))
	fmt.Println(words)
}

이 예제는 문자열 슬라이스를 역순으로 정렬하는 방법을 보여줍니다. sort.Reverse 함수를 사용하여 문자열 슬라이스를 역순으로 정렬합니다.

3. 사용자 지정 구조체 정렬

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{
		{"Alice", 25},
		{"Bob", 20},
		{"Charlie", 30},
	}
	sort.Sort(ByAge(people))
	fmt.Println(people)
}

위 예제는 사용자 지정 구조체를 정렬하는 방법을 보여줍니다. sort.Sort 함수를 사용하여 사용자 정의 정렬 기준으로 구조체를 정렬합니다.

결론

Sort 패키지는 다양한 데이터 타입에 대한 정렬을 쉽게 처리할 수 있는 강력한 도구입니다. 이러한 다양한 사용 사례를 통해 Go 언어의 Sort 패키지를 활용해 보시기 바랍니다.


참고 자료: