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 函数向切片添加元素,从而缩短了代码。

更新于: 2023年1月23日

1K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告