Go语言内建方法之len、cap、close
len 实际长度(:string、array、slice、map、chan)
cap 容量(:string、array、slice、chan)
close 关闭通道(支持类型
:chan)
package main
import "fmt"
func main() {
getLen()
closeChan()
}
func getLen() {
mSlice := make([]string,3, 5)//make 参数说明 类型 长度 容量
mSlice[0] = "dog"
mSlice[1] = "cat"
mSlice[2] = "pig"
fmt.Println("mSlice 长度:",len(mSlice)) // mSlice 长度: 3
//可以通过append添加进去,但是不申请添加内存,当容量大于5时,再次append才操作内存
fmt.Println("mSlice 容量:",cap(mSlice)) // mSlice 容量: 5
}
func closeChan() {
mChan := make(chan int, 1) //chan 关键字 + 类型 , 可指定缓存或容量为1(可省略,没有缓存的chan)
defer close(mChan) //执行完成这个方法后关闭管道
mChan <- 1 //往管道里写入数据
}