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\n", count) }
以上代码遍历切片并检查每个元素是否非空。如果非空,则增加 count 计数器,最终输出有效元素的数量为 2。
以上就是如何获取 Go 切片中有效元素的个数?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号