go语言(十九)---- channel

  1. channel的使用
//1. 发送value到channel
   channel <- value  
//2. 接收并将其丢弃
    <- channel
//3. 从channel中接收数据,并将其赋值给x
x := <- channel 
  1. 例子
package main

import "fmt"

func main() {
	//定义一个channel
	c := make(chan int)

	go func() {
		defer fmt.Println("goroutine结束")
		fmt.Println("goroutine 正在运行...")
		c <- 777 //将666 发送给c

	}()

	num := <- c //从c中接受数据,并赋值给num

	fmt.Println("num = ",num)
	fmt.Println("main gotoutine 结束...")
}

go语言(十九)---- channel_第1张图片

  1. 缓冲类型
    这是一个无缓冲的channel,什么是无缓冲的chanel,如下图所示:
    go语言(十九)---- channel_第2张图片

你可能感兴趣的:(golang,开发语言,后端)