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 结束...")
}

在这里插入图片描述

  1. 缓冲类型
    这是一个无缓冲的channel,什么是无缓冲的chanel,如下图所示:
    在这里插入图片描述

相关推荐

  1. Go语言 Channel

    2024-01-27 16:42:03       10 阅读
  2. Go语言中的Channel

    2024-01-27 16:42:03       31 阅读
  3. go 语言channel 的简单介绍

    2024-01-27 16:42:03       31 阅读
  4. Go语言并发编程:Goroutines和Channels的详细指南

    2024-01-27 16:42:03       46 阅读
  5. 深入理解Go语言中的Channel与Select

    2024-01-27 16:42:03       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-27 16:42:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-27 16:42:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-27 16:42:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-27 16:42:03       20 阅读

热门阅读

  1. SQL - 数据控制语句

    2024-01-27 16:42:03       32 阅读
  2. 6.第一个Python爬虫程序

    2024-01-27 16:42:03       41 阅读
  3. 二叉树的先序,中序,后序遍历

    2024-01-27 16:42:03       41 阅读
  4. redis面试题合集-高级

    2024-01-27 16:42:03       25 阅读
  5. Linux命令-apk命令(Alpine Linux 下的包管理工具)

    2024-01-27 16:42:03       31 阅读
  6. 树莓派开机重启测试

    2024-01-27 16:42:03       36 阅读
  7. C语言什么是运算符的目?怎样进行区分?

    2024-01-27 16:42:03       36 阅读
  8. 【mysql把一个字段分割成两个字段】

    2024-01-27 16:42:03       37 阅读
  9. 考研机试 成绩排序

    2024-01-27 16:42:03       27 阅读
  10. 七、SQL编程

    2024-01-27 16:42:03       25 阅读
  11. vue2后台管理项目权限的分类

    2024-01-27 16:42:03       29 阅读
  12. 系统架构16 - 软件工程(4)

    2024-01-27 16:42:03       28 阅读