使用内置函数反转数组元素的 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.