Rumah >pembangunan bahagian belakang >Golang >Cara menyusun hirisan menggunakan sort.Slice function dalam golang

Cara menyusun hirisan menggunakan sort.Slice function dalam golang

王林
王林asal
2023-11-18 09:10:562282semak imbas

Cara menyusun hirisan menggunakan sort.Slice function dalam golang

Isih hirisan ialah fungsi yang biasa digunakan dalam Golang dan boleh dilaksanakan dengan cepat menggunakan fungsi isihan.Slice. Fungsi ini membenarkan pengisihan kepingan dengan menghantar fungsi perbandingan tersuai.

sort.Slice function ditakrifkan seperti berikut:

func Slice(slice interface{}, less func(i, j int) bool)

Antaranya, parameter slice menentukan hirisan yang hendak diisih, dan parameter yang kurang ialah fungsi perbandingan yang digunakan untuk menentukan peraturan perbandingan unsur hirisan .

Berikut ialah contoh kod yang menunjukkan cara menggunakan isihan.Fungsi slice untuk mengisih hirisan:

package main

import (
    "fmt"
    "sort"
)

type Person struct {
    Name string
    Age  int
}

type Persons []Person

func (p Persons) Len() int {
    return len(p)
}

func (p Persons) Less(i, j int) bool {
    return p[i].Age < p[j].Age
}

func (p Persons) Swap(i, j int) {
    p[i], p[j] = p[j], p[i]
}

func main() {
    persons := Persons{
        {"Alice", 25},
        {"Bob", 30},
        {"Charlie", 20},
        {"David", 35},
    }

    fmt.Println("Before sort:", persons)

    sort.Slice(persons, func(i, j int) bool {
        return persons[i].Age < persons[j].Age
    })

    fmt.Println("After sort:", persons)
}

Dalam kod di atas, kami mentakrifkan struktur Orang dan Orang Jenis kepingan. Jenis Orang melaksanakan tiga antara muka dalam pakej isihan: Len, Less dan Swap, dengan itu menunjukkan bahawa Orang boleh diisih.

Dalam fungsi utama, kami mentakrifkan contoh hirisan orang dan menggunakan isihan.Fungsi hirisan untuk mengisih hirisan dalam kod berikut. Dalam kes ini, kami mentakrifkan cara untuk mengisih dalam tertib menaik mengikut medan Person.Age dengan menghantar fungsi tanpa nama sebagai parameter kurang.

Akhir sekali, kami mengeluarkan hasil yang disusun dan anda dapat melihat bahawa pengisihan telah selesai.

Ringkasan:

sort.Slice function ialah pintasan untuk pengisihan hirisan di Golang. Kita boleh mentakrifkan pengumpulan berbeza dengan menghantar fungsi perbandingan yang berbeza. Apabila menghantar fungsi perbandingan dalam isihan.Slice, kita boleh menggunakan fungsi tanpa nama atau struktur yang melaksanakan antara muka isihan.

Atas ialah kandungan terperinci Cara menyusun hirisan menggunakan sort.Slice function dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn