[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 패키지를 활용해 보시기 바랍니다.
참고 자료:
- https://golang.org/pkg/sort/