[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 언어 공식 문서를 참조하세요.