go语言中“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 <- 1ch <- 2ch <- 3length := len(ch) // length为3
需要注意的是,对于字符串来说,len()函数返回的是字符串的字节数,而非字符数。对于汉字等非ascii字符,一个字符可能占用多个字节,因此需要使用utf8.runecountinstring()函数获取字符数。例如:
s := 你好,世界!bytelength := len(s) // bytelength为15runelength := utf8.runecountinstring(s) // runelength为6
除了上述类型外,len()函数还可以用于获取数组、切片和字典的容量,以及string、[]byte等类型的字节数组容量。例如:
// 获取切片容量slice := make([]int, 3, 5)capacity := cap(slice) // capacity为5// 获取字节数组容量str := hellobytecapacity := cap([]byte(str)) // bytecapacity为6
总之,len()函数是go语言中一个非常常用的函数,可以方便地获取数据结构的长度或元素个数。
以上就是len函数用法的详细内容。