Как перевернуть массив в Golang?

Пользователь

от stephania , в категории: Golang , 2 года назад

Как перевернуть массив в Golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jensen , 2 года назад

@stephania Вы можете использовать цикл и тем самым перевернуть массив в Golang, посмотрите небольшой пример кода:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
package main

import "fmt"

func main() {
   array := []int{1, 2, 3, 4, 5}
   var reverse []int

   for i := len(array) - 1; i >= 0; i-- {
      reverse = append(reverse, array[i])
   }

   // Вывод: [5 4 3 2 1]
   fmt.Println(reverse)
}


Пользователь

от jerad.kuphal , год назад

@stephania 

В Golang есть стандартная библиотека sort, которая содержит функцию Reverse(), которая может использоваться для переворачивания массива.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
package main

import (
	"fmt"
	"sort"
)

func main() {
	nums := []int{1, 2, 3, 4, 5}
	sort.Sort(sort.Reverse(sort.IntSlice(nums)))
	fmt.Println(nums)
}


Вывод: [5 4 3 2 1]


Вы можете также использовать другие способы, например, цикл с двумя указателями и инвертирование массива с помощью дополнительного массива и копирование из одного в другой.