Go语言程序反转切片
在本教程中,我们将学习如何使用各种示例反转切片。切片就像数组一样,是一系列元素的序列。数组是元素的固定序列,而切片是动态数组,这意味着它的值不是固定的,可以更改。切片比数组更有效率且速度更快,此外它们是通过引用而不是通过值传递的。让我们通过示例来了解这些内容。
语法
func append(slice, element_1, element_2…, element_N) []T
append 函数用于向数组切片添加值。它接受多个参数。第一个参数是要向其添加值的数组,后跟要添加的值。然后,该函数返回包含所有值的最终数组切片。
方法 1:在示例中使用整数值
在这种方法中,我们将了解如何使用整数值反转切片。在这里,我们将使用 append 函数输入值。输出将使用 fmt.Println() 函数打印到控制台。让我们通过代码了解它是如何完成的。
算法
步骤 1 − 创建一个 package main 并声明程序中的 fmt(格式包),其中 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 指的是换行符。
示例
Go语言程序使用示例中的整数值反转切片
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 − 创建一个 package main 并声明程序中的 fmt(格式包),其中 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 指的是换行符。
示例
Go语言程序使用示例中的字符串值反转切片
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]
结论
我们使用两个示例执行了反转切片元素的程序。在第一个示例中,我们使用了整数值并交换了它们,在第二个示例中,我们使用了字符串值并交换了它们。这两个示例都给出了类似的输出。因此,程序成功执行。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP