使用內建函式反轉陣列元素的 Go 語言程式


在本教程中,我們將編寫一個 Go 語言程式,使用內建函式反轉陣列的元素。在這個程式中,我們將看到如何使用 Go 的內部函式反轉字串和整數陣列。

方法 1:使用 Append() 和 Make() 函式

語法

func make ([] type, size, capacity)

Go 語言中的 **make** 函式用於建立陣列/對映,它接受要建立的變數型別、大小和容量作為引數。

func append(slice, element_1, element_2…, element_N) []T

append 函式用於向陣列切片新增值。它接受多個引數。第一個引數是要新增值的陣列,後跟要新增的值。然後,該函式返回包含所有值的陣列的最終切片。

演算法

**步驟 1** - 首先,我們需要匯入 fmt 包。

**步驟 2** - 現在,開始 main() 函式。在該函式內部,使用 make() 函式建立整數陣列,並使用 append() 函式向其中輸入值。

**步驟 3** - 使用 fmt.Println() 函式在螢幕上列印陣列。現在建立一個新的空整數陣列來儲存反轉後的陣列。

**步驟 4** - 使用 for 迴圈遍歷陣列的每個元素,並使用 append 函式以相反的順序將陣列中的元素儲存到空陣列中。

**步驟 5** - 一旦遍歷完整個陣列並將元素儲存到它們各自的位置,就在螢幕上列印最終陣列。

示例 1

在本例中,我們將編寫一個 Go 語言程式,使用 append() 函式反轉整數陣列的元素。

package main
import "fmt"
func main() { 

   // initializing an array
   array := make([]int, 0, 5)
   array = append(array, 1, 2, 3, 4, 5)
   fmt.Println("The given array is:", array)
   var rev []int
   for _, n := range array {
      rev = append([]int{n}, rev...)
   }
   fmt.Println("The new array formed after reversing the above array is:", rev)
}

輸出

The given array is: [1 2 3 4 5]
The new array formed after reversing the above array is: [5 4 3 2 1]

示例 2

在本例中,我們將編寫一個 Go 語言程式,使用 append() 函式反轉字串陣列的元素。

package main
import "fmt"
func main() {

   // initializing an array
   array := make([]string, 0, 5)
   array = append(array, "x", "y", "z", "a", "b")
   fmt.Println("The given array is:", array)
   var rev []string
   for _, n := range array {
      rev = append([]string{n}, rev...)
   }
   fmt.Println("The new array formed after reversing the above array is:", rev)
}

輸出

The given array is: [x y z a b]
The new array formed after reversing the above array is: [b a z y x]

方法 2:使用 Appned() 和 Slice() 函式

在這種方法中,我們將編寫一個 Go 語言程式,使用 sort 包中的 Slice() 函式反轉整數陣列的元素。

語法

func make ([] type, size, capacity)

Go 語言中的 **make** 函式用於建立陣列/對映,它接受要建立的變數型別、大小和容量作為引數。

func append(slice, element_1, element_2…, element_N) []T

append 函式用於向陣列切片新增值。它接受多個引數。第一個引數是要新增值的陣列,後跟要新增的值。然後,該函式返回包含所有值的陣列的最終切片。

func Slice(x any, less func(i, j int) bool)

Slice() 函式位於 sort 包中,用於以任何方式對陣列切片進行排序。此函式接受兩個引數,一個是需要排序的陣列,另一個引數是一個函式,該函式指定給定切片要排序的順序。然後,該函式返回一個布林變數作為結果。

演算法

**步驟 1** - 首先,我們需要匯入 fmt 包。

**步驟 2** - 現在,開始 main() 函式。在該函式內部,使用 make() 函式建立整數陣列,並使用 append() 函式向其中輸入值。

**步驟 3** - 使用 fmt.Println() 函式在螢幕上列印陣列。現在建立一個新的空整數陣列來儲存反轉後的陣列。

**步驟 4** - 使用 for 迴圈遍歷陣列的每個元素,並使用 append 函式以相反的順序將陣列中的元素儲存到空陣列中。

**步驟 5** - 一旦遍歷完整個陣列並將元素儲存到它們各自的位置,就在螢幕上列印最終陣列。

示例

使用 slice 函式反轉陣列元素的 Go 語言程式

package main
import (
   "fmt"
   "sort"
)
func main() {

   // initializing an array
   array := make([]int, 0, 5)
   array = append(array, 12, 21, 34, 45, 50)
   fmt.Println("The given array is:", array)
   sort.Slice(array, func(i, j int) bool {
      return true
   })
   fmt.Println("The new array formed after reversing the above array is:", array)
}

輸出

The given array is: [12 21 34 45 50]
The new array formed after reversing the above array is: [50 45 34 21 12]

結論

我們已經成功地編譯並執行了一個 Go 語言程式來反轉陣列的所有元素以及示例。在第一個示例中,我們使用了各種內部函式來實現此結果。

更新於: 2023年2月9日

1K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.