Go语言程序将切片分成两半
切片也可以称为动态数组,因为它的值是动态的,而普通数组是静态的。这使得切片更高效且更快。它们是通过引用传递而不是通过值传递。让我们学习如何使用 Go 语言程序将切片分成两半。
语法
func append(slice, element_1, element_2…, element_N) []T
append 函数用于向数组切片添加值。它接受多个参数。第一个参数是要添加值的数组,后跟要添加的值。然后,该函数返回包含所有值的数组的最终切片。
算法
步骤 1 − 创建一个 package main 并声明程序中的 fmt(格式化包)包,其中 main 生成可执行代码,fmt 帮助格式化输入和输出。
步骤 2 − 创建切片并使用 append 函数(内置函数)在切片内填充值。
步骤 3 − 使用 fmt.Println() 函数在控制台上打印切片。
步骤 4 − 使用 len(slice)/2 查找切片的中点并将其存储在 mid 变量中,这里 len 指的是切片的长度。
步骤 5 − 在 left 变量中存储 mid 之前和等于 mid 的值,在 right 变量中存储 mid 之后的值。
步骤 6 − 使用 fmt.Println() 函数在控制台上打印左半部分和右半部分,其中 ln 表示换行。
示例 1
在这个示例中,我们将学习如何使用切片的中值将切片分成两半。屏幕上打印的输出将是左切片和右切片,其中左切片包含中间元素,右切片不包含中间元素。让我们通过代码和算法学习如何执行此操作。
package main
import "fmt"
func main() {
var slice []int // initialize slice
slice = append(slice, 10) //fill the slice using append function
slice = append(slice, 20)
slice = append(slice, 30)
slice = append(slice, 40)
fmt.Println("The original slice created is:", slice) //print original slice
mid := len(slice) / 2 //find mid element
left := slice[:mid] //store left slice elements in left variable
right := slice[mid:] //store right slice elements in right variable
fmt.Println("The left half presented here is:", left) //print left elements
fmt.Println("The right half presented here is:", right) //print right elements
}
输出
The original slice created is: [10 20 30 40] The left half presented here is: [10 20] The right half presented here is: [30 40]
示例 2
在这个示例中,我们将了解如何使用 append 函数(一种内置函数)将切片分成两半。它将用于将后半部分的元素附加到 append 函数参数内创建的新切片中。在这里,让我们深入了解算法和代码以了解更多信息。
package main
import "fmt"
func main() {
var slice []int // initialize slice
slice = append(slice, 10) //fill the slice using append function
slice = append(slice, 20)
slice = append(slice, 30)
slice = append(slice, 40)
fmt.Println("The original slice created here is:", slice) //print original slice
mid := len(slice) / 2 //find mid element
left := slice[:mid] //
right := append([]int{}, slice[mid:]...) //store the right elements into the right variable
fmt.Println("The left half presented here is:", left) //print left elements
fmt.Println("The right half presented here is:", right) //print right elements
}
输出
The original slice created here is: [10 20 30 40] The left half presented here is: [10 20] The right half presented here is: [30 40]
结论
我们使用两个示例执行了将切片分成两半的程序。在第一个示例中,我们使用中间值计算了二分之一。在第二个示例中,我们使用 append 函数查找二分之一。此外,我们使用了一个名为 append 函数的内置函数,该函数用于向切片添加值并创建一个名为 right 切片的新切片。这两个示例都给出了类似的输出。因此,程序成功执行。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP