Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。
Q&A
解決済
1回答
1009閲覧
総合スコア62
0グッド
2クリップ
投稿2014/08/26 10:22
0
2
Go言語について教えてください。 構造体を用いた場合の クラスのソート方法が分かりません。
サンプルコードを示して教えて頂けないでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答1件
ベストアンサー
構造体に、Len,Swap,Lessメソッドを定義して各々を実装するだけで いいです。以下、サンプルです。
lang1type Person struct { 2Name string 3Age int 4} 5 6type ByAge []Person 7 8func (a ByAge) Len() int { return len(a) } 9func (a ByAge) Swap(i, j int) { a[i], a[j] = a[j], a[i] } 10func (a ByAge) Less(i, j int) bool { return a[i].Age < a[j].Age } 11 12--以下実行例 13people := []Person{ 14{"A", 1}, 15{"D", 4}, 16{"B", 2}, 17{"C", 3}, 18} 19sort.Sort(ByAge(people))
lang
1type Person struct { 2Name string 3Age int 4} 5 6type ByAge []Person 7 8func (a ByAge) Len() int { return len(a) } 9func (a ByAge) Swap(i, j int) { a[i], a[j] = a[j], a[i] } 10func (a ByAge) Less(i, j int) bool { return a[i].Age < a[j].Age } 11 12--以下実行例 13people := []Person{ 14{"A", 1}, 15{"D", 4}, 16{"B", 2}, 17{"C", 3}, 18} 19sort.Sort(ByAge(people))
投稿2014/09/30 11:06
総合スコア316
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.47%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
Go言語で構造体を用いたソートがしたい
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。