"Go 맵 슬라이스 정렬"의 두 판 사이의 차이

 
(같은 사용자의 중간 판 4개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
;
;Go 맵 슬라이스 정렬
;
 
;
<syntaxhighlight lang='go' run>
*
package main
*
 
*
import (
"fmt"
"sort"
 
"github.com/spf13/cast"
)
 
func main() {
fruits := []map[string]interface{}{
{"id": 102, "name": "apple", "price": 30},
{"id": 202, "name": "banana", "price": 20},
{"id": 104, "name": "melon", "price": 20},
}
sort.Slice(fruits, func(i, j int) bool {
return cast.ToInt(fruits[i]["id"]) < cast.ToInt(fruits[j]["id"])
})
fmt.Println(fruits)
}
</syntaxhighlight>
<syntaxhighlight lang='go' run>
package main
 
import (
"fmt"
"sort"
 
"github.com/spf13/cast"
)
 
func main() {
fruits := []map[string]interface{}{
{"id": 102, "name": "apple", "price": 30},
{"id": 202, "name": "banana", "price": 20},
{"id": 104, "name": "melon", "price": 20},
}
sort.Slice(fruits, func(i, j int) bool {
if cast.ToInt(fruits[i]["price"]) < cast.ToInt(fruits[j]["price"]) {
return true
}
if cast.ToInt(fruits[i]["price"]) > cast.ToInt(fruits[j]["price"]) {
return false
}
return cast.ToInt(fruits[i]["id"]) < cast.ToInt(fruits[j]["id"])
})
fmt.Println(fruits)
}
</syntaxhighlight>


==같이 보기==
==같이 보기==
* [[Go 정렬]]
* [[Go 정렬]]
* [[Go 맵 슬라이스]]
* [[Go 맵 슬라이스]]
* [[Go 슬라이스 정렬]]
* [[Go 구조체 슬라이스 정렬]]


[[분류: Go 맵 슬라이스]]
[[분류: Go 맵 슬라이스]]
[[분류: Go 정렬]]
[[분류: Go 정렬]]

2022년 5월 25일 (수) 12:23 기준 최신판

1 개요[ | ]

Go 맵 슬라이스 정렬
package main

import (
	"fmt"
	"sort"

	"github.com/spf13/cast"
)

func main() {
	fruits := []map[string]interface{}{
		{"id": 102, "name": "apple", "price": 30},
		{"id": 202, "name": "banana", "price": 20},
		{"id": 104, "name": "melon", "price": 20},
	}
	sort.Slice(fruits, func(i, j int) bool {
		return cast.ToInt(fruits[i]["id"]) < cast.ToInt(fruits[j]["id"])
	})
	fmt.Println(fruits)
}
package main

import (
	"fmt"
	"sort"

	"github.com/spf13/cast"
)

func main() {
	fruits := []map[string]interface{}{
		{"id": 102, "name": "apple", "price": 30},
		{"id": 202, "name": "banana", "price": 20},
		{"id": 104, "name": "melon", "price": 20},
	}
	sort.Slice(fruits, func(i, j int) bool {
		if cast.ToInt(fruits[i]["price"]) < cast.ToInt(fruits[j]["price"]) {
			return true
		}
		if cast.ToInt(fruits[i]["price"]) > cast.ToInt(fruits[j]["price"]) {
			return false
		}
		return cast.ToInt(fruits[i]["id"]) < cast.ToInt(fruits[j]["id"])
	})
	fmt.Println(fruits)
}

2 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}