“len()”是用于获取字符串、数组、切片、字典以及通道等类型的长度或元素个数的函数,具体用法为”len(被获取的元素名称)“,但是对于字符串来说,”len()“函数返回的是字符串的字节数,而非字符数。
本教程操作系统:Windows10系统、Dell G3电脑。
在Go语言中,len()函数用于获取字符串、数组、切片、字典以及通道等类型的长度或元素个数。具体用法如下:
- 获取字符串长度:
s := "hello, world!" length := len(s) // length为13
- 获取数组长度:
arr := [3]int{1, 2, 3} length := len(arr) // length为3
- 获取切片长度:
slice := []int{1, 2, 3} length := len(slice) // length为3
- 获取字典元素个数:
dict := map[string]int{"a": 1, "b": 2, "c": 3} length := len(dict) // length为3
- 获取通道缓冲区中的元素个数:
ch := make(chan int, 3) ch <p style="text-wrap: wrap;">需要注意的是,对于字符串来说,len()函数返回的是字符串的字节数,而非字符数。对于汉字等非ASCII字符,一个字符可能占用多个字节,因此需要使用utf8.RuneCountInString()函数获取字符数。例如:</p><pre class="brush:php;toolbar:false">s := "你好,世界!" byteLength := len(s) // byteLength为15 runeLength := utf8.RuneCountInString(s) // runeLength为6
除了上述类型外,len()函数还可以用于获取数组、切片和字典的容量,以及string、[]byte等类型的字节数组容量。例如:
// 获取切片容量 slice := make([]int, 3, 5) capacity := cap(slice) // capacity为5 // 获取字节数组容量 str := "hello" byteCapacity := cap([]byte(str)) // byteCapacity为6
总之,len()函数是Go语言中一个非常常用的函数,可以方便地获取数据结构的长度或元素个数。