如何获取 Go 切片中有效元素的个数?
go 切片有效元素的确定
在 go 中,切片元素有效与否受切片容量的影响。如果代码中使用的 make([]abc, 5, 10) 初始化切片,这意味着该切片的容量为 10,即可以容纳 10 个元素。而该代码实际添加了 2 个元素。
此问题在于,使用 len() 方法获取的长度包括所有分配给切片的内存空间,包括未赋值的 nil 元素。这会导致 len() 方法返回 7,而不是实际有效的元素数 2。
要获取有效元素的数量,方法之一是遍历切片并计算非空元素的个数。例如:
func main() { tslice := make([]abc, 5, 10) tslice = append(tslice, "测试数组", "第二个值") count := 0 for _, val := range tslice { if val != "" { count++ } } fmt.Printf("有效元素的数量:%d ", count) }
以上代码遍历切片并检查每个元素是否非空。如果非空,则增加 count 计数器,最终输出有效元素的数量为 2。
以上就是如何获取 Go 切片中有效元素的个数?的详细内容,更多请关注www.sxiaw.com其它相关文章!