使用內建函式反轉陣列元素的 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 語言程式來反轉陣列的所有元素以及示例。在第一個示例中,我們使用了各種內部函式來實現此結果。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP