English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной курс Golang

Условные операторы в Golang

Функции и методы в Golang

Структуры в Golang

Срезы и массивы в Golang

Строки (String) в Golang

Указатели в Golang

Интерфейсы в Golang

Конкурентоспособность в Golang

Исключения (Error) в Golang

Другие темы Golang

Сортировка срезов в Go

В языке Go,срезабольшеМассивБолее мощный, гибкий, удобный и легковесный структур данных. Срезы — это изменяемые последовательности, используемые для хранения элементов相似ого типа, и не позволяют хранить в одном срезе элементы различных типов.
Язык Go позволяет сортировать элементы массива в зависимости от типа массива. Таким образом, для сортировки массивов типа int можно использовать следующие функции. Эти функции определены в пакете sort, поэтому вам нужно импортировать этот пакет в вашем программном обеспечении, чтобы получить доступ к этим функциям:

1.Целое число:Эта функция предназначена только для сортировки целочисленных массивов и сортирует элементы массива в порядке возрастания.

Синтаксис:

func Ints(slc []int)

Здесь,slcЭто целое число. Давайте рассмотрим этот концепт с помощью примера:

//Сортировка целых чисел
package main 
   
import ( 
    "fmt"
    "sort"
) 
   
//Основная функция 
func main() { 
       
    //Использование краткой записи для создания и инициализации массива
    scl1 := []int{400, 600, 100, 300, 500, 200, 900} 
    scl2 := []int{-23, 567, -34, 67, 0, 12, -5} 
       
    // Показывать срезы
    fmt.Println("Slices(Before):") 
    fmt.Println("Slice 1: ", scl1) 
    fmt.Println("Slice 2: ", scl2) 
       
    //Сортировка целочисленных массивов
//Использование функции Ints
    sort.Ints(scl1) 
    sort.Ints(scl2) 
       
    // 显示结果
    fmt.Println("\nSlices(After):") 
    fmt.Println("Slice 1: ", scl1) 
    fmt.Println("Slice 2: ", scl2) 
}

Вывод:

Срезы (До):
Срез 1: [400 600 100 300 500 200 900]
Срез 2: [-23 567 -34 67 0 12 -5]
Срезы (После):
Срез 1 : [100 200 300 400 500 600 900]
Срез 2 : [-34 -23 -5 0 12 67 567]

2. IntsAreSorted:Эта функция используется для проверки, является ли данный int срез отсортированным (в порядке возрастания). Если срез отсортирован, то该方法 возвращает true; в противном случае, если срез не отсортирован, то возвращает false.

Синтаксис:

func IntsAreSorted(scl []int) bool

Здесь,sclпредставляетЧасть ints。Давайте рассмотрим этот концепт с помощью примера:

// Объяснение программы Go, как проверить
// Определен ли отсортированный int срез
package main
import (
    "fmt"
    "sort"
)
func main() {
    // Создание и инициализация срезов
    // Использование сокращенного声明
    scl1 := []int{100, 200, 300, 400, 500, 600, 700}
    scl2 := []int{-23, 567, -34, 67, 0, 12, -5}
    // Показывать срезы
    fmt.Println("Срезы:")
    fmt.Println("Срез 1: ", scl1)
    fmt.Println("Срез 2: ", scl2)
    // Проверка, является ли срез отсортированным
    // Использование функции IntsAreSorted
    res1 := sort.IntsAreSorted(scl1)
    res2 := sort.IntsAreSorted(scl2)
    // 显示结果
    fmt.Println("\nРезультат:")
    fmt.Println("Срез 1 отсортирован?: ", res1)
    fmt.Println("Срез 2 отсортирован?: ", res2)
}

Вывод:

Срезы:
Срез 1: [100 200 300 400 500 600 700]
Срез 2: [-23 567 -34 67 0 12 -5]
Результат:
Срез 1 отсортирован?: true
Срез 2 отсортирован?: false