首页 > 文章列表 > go语言如何获取list长度

go语言如何获取list长度

golang
139 2023-03-08

go语言如何获取list长度

在go语言中,可以使用列表内置的Len()函数来获取list长度,语法“列表list.Len()”,返回值为指定list的长度。Len()函数可用于计算数组(包括数组指针)、切片(slice)、map、channel、字符串等数据类型的长度;注意,结构休(struct)、整型布尔等不能作为参数传给len函数。

在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