Go के महत्वपूर्ण विषय
Sorting in Go: sort and slices
Sort numbers, strings and structs, and write your own order with a comparison function.
आप क्या सीखेंगे
- sort.Ints
- slices.SortFunc
- sort.Slice for structs
Ranking
Leo95
Mia82
Zoe82
Ben67
You decide the order
Go sorts slices in place. sort.Ints and sort.Strings cover the simple cases, and sort.Slice or slices.SortFunc take a function that decides the order.
slices.SortFunc compares two items and returns a negative number, zero or a positive number; comparing the lower-case forms ignores capital letters. sort.Slice takes a function that says whether item i comes before item j: here a higher score first, then the name.
मुख्य बातें
- Sorting changes the slice in place.
sort.Slicetakes a less function.- Break ties with a second comparison.
चलने योग्य Go उदाहरण
main.go
package main
import (
"fmt"
"slices"
"sort"
"strings"
)
type Student struct {
Name string
Score int
}
func main() {
numbers := []int{5, 2, 8, 1}
sort.Ints(numbers)
fmt.Println(numbers)
words := []string{"pear", "Apple", "fig"}
slices.SortFunc(words, func(a, b string) int {
return strings.Compare(strings.ToLower(a), strings.ToLower(b))
})
fmt.Println(words)
students := []Student{{"Mia", 82}, {"Leo", 95}, {"Zoe", 82}, {"Ben", 67}}
sort.Slice(students, func(i, j int) bool {
if students[i].Score != students[j].Score {
return students[i].Score > students[j].Score
}
return students[i].Name < students[j].Name
})
for rank, student := range students {
fmt.Printf("%d. %s (%d)\n", rank+1, student.Name, student.Score)
}
}
[1 2 5 8]
[Apple fig pear]
1. Leo (95)
2. Mia (82)
3. Zoe (82)
4. Ben (67)अभ्यास
उदाहरण को ऑनलाइन कंपाइलर में खोलें, कोई मान बदलें या एक पंक्ति जोड़ें, और चलाने से पहले आउटपुट का अनुमान लगाएँ। फिर कोड में जान-बूझकर गलती करें और कंपाइलर का संदेश पढ़ें।
यह पाठ पूरा कर लिया?
अपनी प्रगति ट्रैक करने के लिए इसे सीखा हुआ मार्क करें।
आपकी प्रगति इस ब्राउज़र में सेव है इसे हर डिवाइस पर रखने के लिए साइन इन करें।
चैलेंज से अभ्यास करें
इस पाठ में सीखी बात से एक असली समस्या हल करें। हर चैलेंज ब्राउज़र में चलता है, तुरंत टेस्ट और AI रिव्यू के साथ।
सभी चैलेंज