在go语言中,可以使用列表内置的Len()函数来获取list长度,语法“列表list.Len()”,返回值为指定list的长度。Len()函数可用于计算数组(包括数组指针)、切片(slice)、map、channel、字符串等数据类型的长度;注意,结构休(struct)、整型布尔等不能作为参数传给len函数。
本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。
在go语言中,可以使用列表内置的Len()函数来获取list长度。
计算list长度的语法格式:
Len() int
登录后复制
-
使用列表内置的 Len() 函数,获取列表的长度。
示例:
package main import ( "container/list" "fmt" ) func main() { //使用列表内置的 Len() 函数,获取列表的长度 listHaiCoder := list.New() listHaiCoder.PushFront("Hello") listHaiCoder.PushFront("HaiCoder") listHaiCoder.PushFront("嗨客网") len := listHaiCoder.Len() fmt.Println("Len =", len) }
登录后复制
分析:
-
我们通过 list.New 创建了一个列表 listHaiCoder,接着使用 PushFront 函数在列表的头部连续插入了三个元素。最后,我们使用列表内置的 Len 函数,获取列表的长度。
说明:
len函数是Go语言中的内置函数,因此,在Go程序中可以直接调用。
其作用是用于计算数组(包括数组指针)、切片(slice)、map、channel、字符串等数据类型的长度,注意,结构休(struct)、整型布尔等不能作为参数传给len函数。
-
数组或数组指针:返回元素个数
-
map和slice: 元素个数
-
channel:通道中未读的元素个数
-
字符串:字节数,并非字符串的字符数
-
当V的值为nil值,len返回0
sl := make([]int,0) sl = nil if sl == nil{ fmt.Println(len(sl)) //当slice类型为nil时,输出0 } s := "欢迎学习Go的len()函数"//14个字符 fmt.Println(len(s))//输入28
登录后复制
在处理字符串时,经常需要知道字符串的字符数,但len()只计算字符串字节数,因此我们可以自定义处理字符串个数的函数。
//rune是32位的int别外,可以代表一个unicode字符,因此,通过将字符串将成rune类型的切片,切片元素个数代表字符个数 func count(str string) int { r := []rune(str) return len(r) } s := "欢迎学习Go的len()函数"//14个字符 fmt.Println(count(s))//14 fmt.Println(len(s))//28
登录后复制
【