golang - golang sort 정렬 예제, example, struct, 구조체 정렬
이 름 : 바다아이
|
조회수 : 8441
짧은 주소 : https://www.bada-ie.com/su/?771591828689
package main
import (
"fmt""sort"
)
type Person struct {
Name string
Age int
}
// type ByAge []Personfuncmain() {
people := []Person{
{"Bob", 31},
{"John", 42},
{"Michael", 17},
{"Jenny", 26},
}
sort.Slice(people, func(i, j int)bool { return people[i].Name > people[j].Name })
fmt.Println("By name:", people)
sort.Slice(people, func(i, j int)bool { return people[i].Name < people[j].Name })
fmt.Println("By name:", people)
sort.Slice(people, func(i, j int)bool { return people[i].Age > people[j].Age })
fmt.Println("By name:", people)
sort.Slice(people, func(i, j int)bool { return people[i].Age < people[j].Age })
fmt.Println("By name:", people)
}
결과
By name: [{Michael 17} {John 42} {Jenny 26} {Bob 31}]
By name: [{Bob 31} {Jenny 26} {John 42} {Michael 17}]
By name: [{John 42} {Bob 31} {Jenny 26} {Michael 17}]
By name: [{Michael 17} {Jenny 26} {Bob 31} {John 42}]
package main
import (
"fmt""sort"
)
funcmain() {
m := map[string]int{
"something": 10,
"yo": 20,
"blah": 20,
}
type kv struct {
Key string
Value int
}
var ss []kv
for k, v := range m {
ss = append(ss, kv{k, v})
}
sort.Slice(ss, func(i, j int)bool {
return ss[i].Value > ss[j].Value
})
for _, kv := range ss {
fmt.Printf("%s, %d\n", kv.Key, kv.Value)
}
}
결과
yo, 20
blah, 20
something, 10
|
|
번 호
카테고리
제 목
이름
조회수
Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천 실행시간 : 0.06348 초 to webmaster... gogo sea. gogo sea.