Golang程序 反转切片

Golang程序 反转切片

在本教程中,我们将通过各种例子来学习如何反转一个片断。切片是一个元素序列,就像一个数组。数组是一个固定的元素序列,而分片是一个动态数组,这意味着它的值不是固定的,可以改变。分片比数组更有效、更快速,而且它们是通过引用而不是通过值传递的。让我们通过这个例子来了解情况。

语法

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

append函数用于向一个数组片断添加值。它需要一些参数。第一个参数是我们希望添加的数组,后面是要添加的值。然后该函数返回包含所有值的数组的最终片断。

方法1:在例子中使用整数值

在这个方法中,我们将看到如何使用整数值来反转一个片断。在这里,我们将使用append函数摄入数值。输出将使用fmt.Println()函数打印在控制台。让我们通过代码看看这一切是如何完成的。

算法

  • 第1步 – 创建一个包main,并在程序中声明fmt(format package)包,其中main产生可执行代码,fmt帮助格式化输入和输出。

  • 第2步 – 创建一个函数main,在该函数中创建一个整数类型的空片,并使用append函数向该片添加元素。

  • 第3步– 运行一个循环,两个变量i和j都应用在同一个地方。

  • 第4步 – 初始化变量i和j等于0,片断的长度为-1。运行循环直到I小于j。

  • 第5步 – 在循环中使用Go的多重赋值功能,交换指数i和j的元素。

  • 第6步 – 在交换后,i被增加1,j被减少1,循环继续进行下一次交换。

  • 第7步 – 使用fmt.Prinltn()函数打印交换后的片断,其中ln指的是新行。

例子

Golang程序使用实例中的整数值来反转一个片断

package main
import "fmt"
func main() {

   var slice []int
   slice = append(slice, 10) // create slice using append function
   slice = append(slice, 20)
   slice = append(slice, 30)
   slice = append(slice, 40)

   fmt.Println("The slice before reversal is:", slice)
   for i, j := 0, len(slice)-1; i < j; i, j = i+1, j-1 {
      slice[i], slice[j] = slice[j], slice[i]  //reverse the slice
   }

   fmt.Println("The slice after reversal is:")
   fmt.Println(slice)    // print the reversed slice
}

输出

The slice before reversal is: [10 20 30 40]
The slice after reversal is:
[40 30 20 10]

方法2:在例子中使用字符串值

在这个方法中,我们将看到如何使用字符串值来反转一个切片。在这里,我们将使用append函数摄入数值。输出将使用fmt.Println()函数打印在控制台。让我们通过代码看看这一切是如何完成的。

算法

  • 第1步 – 创建一个包main,并在程序中声明fmt(format package)包,其中main产生可执行代码,fmt帮助格式化输入和输出。

  • 第2步 – 创建一个函数main,在该函数中创建一个字符串类型的空片,并使用append函数向该片中添加元素。

  • 第3步– 运行一个循环,两个变量i和j都应用在同一个地方。

  • 第4步 – 初始化变量i和j等于0,片断的长度为-1。运行循环直到I小于j。

  • 第5步 – 在循环中使用Go的多重赋值功能,交换指数i和j的元素。

  • 第6步 – 在交换后,i被增加1,j被减少1,循环继续进行下一次交换。

  • 第7步 – 使用fmt.Prinltn()函数打印被交换的片断,其中ln指的是新行。

例子

Glang程序使用例子中的字符串值来反转一个片断

package main
import "fmt"
func main() {

   var slice []string
   slice = append(slice, "Delhi") // create slice using append function
   slice = append(slice, "Mumbai")
   slice = append(slice, "Bangalore")
   slice = append(slice, "Jaipur")

   fmt.Println("The slice before reversal is:", slice)
   for i, j := 0, len(slice)-1; i < j; i, j = i+1, j-1 {
      slice[i], slice[j] = slice[j], slice[i]   // reverse the slice
   }

   fmt.Println("The slice after reversal is:")
   fmt.Println(slice)  // print the reversed slice

}

输出

The slice before reversal is: [Delhi Mumbai Bangalore Jaipur]
The slice after reversal is:
[Jaipur Bangalore Mumbai Delhi]

结论

我们用两个例子执行了反转片中元素的程序。在第一个例子中,我们使用了整数值并交换了它们,在第二个例子中,我们使用了字符串值并交换了它们。这两个例子都给出了类似的输出。因此,该程序成功执行。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程