Go语言程序:统计切片元素个数
在本文中,我们将学习如何使用不同的示例来统计切片中的元素个数。切片就像数组一样,是一系列元素的序列。数组是固定长度的元素序列,而切片是动态数组,这意味着它的值不是固定的,可以更改。切片比数组更高效、速度更快,此外,它们是通过引用而不是通过值传递的。让我们通过示例学习如何执行它。
语法
func append(slice, element_1, element_2…, element_N) []T
append 函数用于向数组切片添加值。它接受多个参数。第一个参数是要添加值的数组,后跟要添加的值。然后,该函数返回包含所有值的最终数组切片。
算法
步骤 1 − 创建一个名为 main 的包,并在程序中声明 fmt(格式化包),其中 main 生成可执行代码,fmt 帮助格式化输入和输出。
步骤 2 − 初始化一个切片并使用 append 函数填充一些要计数的值。
步骤 3 − 使用 print 语句在控制台上打印创建的切片。
步骤 4 − 使用表示长度的 len 函数统计切片中的元素个数。
步骤 5 − 在 for 循环中使用 range 而不是空格来包含切片中的索引。
步骤 6 − 使用 print 语句在控制台上打印创建的切片的长度。
步骤 7 − 使用 fmt.Println() 函数执行 print 语句,其中 ln 表示换行符。
使用 Len 方法
在本例中,我们将了解如何使用 len 方法统计切片中的元素个数。len 用于计算切片的长度。让我们通过算法和代码了解它是如何完成的。
示例
package main import "fmt" func main() { var slice []int // create a slice slice = append(slice, 10) //fill the elements in slice using append function slice = append(slice, 20) slice = append(slice, 30) length_slice := len(slice) //calculate length of slice using len method fmt.Println("The elements of slice are:", slice) //print slice elements fmt.Println("The slice has", length_slice, "elements.") //print length of slice }
输出
The elements of slice are: [10 20 30] The slice has 3 elements.
使用 For 循环和计数变量
在本例中,我们将了解如何使用 for 循环统计切片中的元素个数。For 循环将用于通过在每次迭代中添加元素来计算切片的长度。让我们通过算法和代码了解它是如何完成的。
示例
package main import "fmt" func main() { var slice []int slice = append(slice, 10) //fill the elements in slice using append function slice = append(slice, 20) slice = append(slice, 30) fmt.Println("The elements in slice are:", slice) //print slice elements count := 0 //count to store number of elements in slice for range slice { //for loop runs till length of slice count++ } fmt.Println("The slice has", count, "elements.") //print the length of slice }
输出
The elements in slice are: [10 20 30] The slice has 3 elements.
结论
我们在以上 2 个示例中执行了统计切片元素个数的程序。在第一个示例中,我们使用 len 方法统计切片中的元素个数,在第二个示例中,我们使用 for 循环在每次迭代中统计切片中的元素个数。在这两个示例中,我们都使用了 append 函数向切片添加元素,从而缩短了代码。