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 サイトの他の関連記事を参照してください。