ホームページ >バックエンド開発 >Golang >Goで整数スライスを逆ソートするにはどうすればよいですか?

Goで整数スライスを逆ソートするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-15 10:58:02350ブラウズ

How to Reverse-Sort an Integer Slice in Go?

Go での整数スライスの逆ソート

Go では、整数のスライスを降順にソートする必要がある場合があります (最高から最低まで)。 sort.Ints 関数は、値を昇順に並べ替える簡単な方法を提供しますが、逆並べ替えのオプションは提供しません。

逆並べ替えを実現するために、誤って sort.Sort(sort.Reverse) を使用しようとしました。 (sort.Ints(keys))) sort.Reverse 関数と組み合わせて使用​​します。ただし、sort.Ints は int 配列の sort 関数で直接使用するように設計されており、それを sort.Sort 内の値として使用しようとするとコンパイル エラーが発生します。

解決策は、事前定義された IntSlice を利用することです。 sort パッケージによって提供される型。sort.Interface インターフェイスを実装します。このタイプを使用すると、逆ソートを含むカスタムのソート戦略を実装できます。

例:

keys := []int{3, 2, 8, 1}
sort.Sort(sort.Reverse(sort.IntSlice(keys)))
fmt.Println(keys) // Output: [8 3 2 1]

sort.IntSlice とその Reverse 実装を使用すると、効果的に次のことができます。 Go で整数のスライスを逆ソートします。

以上がGoで整数スライスを逆ソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。