📅  最后修改于: 2023-12-03 14:52:18.304000             🧑  作者: Mango
在 Golang 中,我们经常需要获取不同数据类型的长度,本文将介绍如何获取 Channel、Pointer、Slice、String 和 Map 的长度。
Channel 是 Golang 中一种用于并发通信的数据类型,我们可以通过 len()
函数获取 Channel 的长度,如下所示:
package main
import (
"fmt"
)
func main() {
ch := make(chan int, 3)
ch <- 1
ch <- 2
ch <- 3
fmt.Println("Channel length:", len(ch))
}
以上代码中,我们创建了一个缓冲为 3 的 Channel,并向其中插入 3 个元素,最后使用 len()
函数获取该 Channel 的长度并输出。
Pointer 是 Golang 中一种数据类型,表示指针,可以指向不同的变量和数据类型。由于 Pointer 只是一个指向内存地址的引用,因此没有长度的概念,不能使用 len()
函数获取长度。
Slice 是 Golang 中一种动态数组,我们可以通过 len()
函数获取 Slice 的长度,如下所示:
package main
import (
"fmt"
)
func main() {
s := []int{1, 2, 3, 4, 5}
fmt.Println("Slice length:", len(s))
}
以上代码中,我们创建了一个包含 5 个元素的 Slice,并使用 len()
函数获取其长度并输出。
String 是 Golang 中一种数据类型,表示字符串,我们可以通过 len()
函数获取 String 的长度,如下所示:
package main
import (
"fmt"
)
func main() {
str := "Hello, World!"
fmt.Println("String length:", len(str))
}
以上代码中,我们创建了一个字符串,并使用 len()
函数获取其长度并输出。
Map 是 Golang 中一种数据类型,表示字典或映射表,我们可以通过 len()
函数获取 Map 的长度,如下所示:
package main
import (
"fmt"
)
func main() {
m := map[string]int{
"apple": 1,
"banana": 2,
"orange": 3,
}
fmt.Println("Map length:", len(m))
}
以上代码中,我们创建了一个包含 3 个元素的 Map,并使用 len()
函数获取其长度并输出。
通过以上代码,我们可以学习到如何在 Golang 中获取 Channel、Pointer、Slice、String 和 Map 的长度。