本文小编为大家详细介绍“go语言如何获取list长度”,内容详细,步骤清晰,细节处理妥当,希望这篇“go语言如何获取list长度”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
在go语言中,可以使用列表内置的Len()函数来获取list长度,语法“列表list.Len()”,返回值为指定list的长度。Len()函数可用于计算数组(包括数组指针)、切片(slice)、map、channel、字符串等数据类型的长度;注意,结构休(struct)、整型布尔等不能作为参数传给len函数。
在go语言中,可以使用列表内置的Len()函数来获取list长度。
计算list长度的语法格式:
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