All in code :
package main
import "fmt"
func main() {
var intChan chan int
intChan = make(chan int, 3)
fmt.Printf("intChan 的值是=%v , intChan 自己本身的地址是= %p \n", intChan, &intChan)
intChan<- 10
num := 211
intChan<- num
intChan<- 50
fmt.Printf("channel len= %v cap= %v \n", len(intChan), cap(intChan))
var num2 int
num2 = <-intChan
fmt.Println("num2=", num2)
fmt.Printf("channel len= %v cap= %v \n", len(intChan), cap(intChan))
}
结果:
intChan 的值是=0xc0001ae000 , intChan 自己本身的地址是= 0xc0001a2018
channel len= 3 cap= 3
num2= 10
channel len= 2 cap= 3
Process finished with exit code 0