使用len()函数可获取Golang中切片或数组的长度,适用于数组、切片、字符串等类型;切片调用len()返回元素个数,如[]int{1,2,3,4,5}结果为5,空切片为0;数组为固定长度,len()返回定义时的容量,未初始化元素不影响长度,如[3]int和[5]string{"a","b","c"}分别输出3和5;常用于判断是否为空,若len(slice)==0则为空;注意nil切片和空切片的len()均为0,需通过slice==nil判断是否为nil;len()是安全高效的标准做法。

在Golang中判断切片或数组的长度非常简单,使用内置的 len() 函数即可。这个函数适用于数组、切片、字符串、map 和 channel 等类型。
判断切片长度
对切片使用 len() 会返回当前切片中元素的个数。
- slice := []int{1, 2, 3, 4, 5}
- fmt.Println(len(slice)) // 输出: 5
- emptySlice := []string{}
- fmt.Println(len(emptySlice)) // 输出: 0
判断数组长度
数组是固定长度的,但依然使用 len() 获取其容量(定义时指定的长度)。
- var arr [3]int
- fmt.Println(len(arr)) // 输出: 3
- arr2 := [5]string{"a", "b", "c"}
- fmt.Println(len(arr2)) // 输出: 5(即使只初始化了3个)
常见用途:判断是否为空
判断切片或数组是否为空,通常通过检查长度是否为0来实现。
立即学习“go语言免费学习笔记(深入)”;
- if len(slice) == 0 {
- fmt.Println("切片为空")
- }
注意:nil 切片和空切片的长度都是0,所以 len() 无法区分两者,如需判断是否为 nil,应直接比较:slice == nil。
基本上就这些。用 len() 获取长度是标准做法,安全且高效。










