当前位置: 首页 > news >正文

go语言(十八)---- goroutine

一、goroutine

package mainimport ("fmt""time"
)func main() {//用go创建承载一个形参为空,返回值为空的一个函数go func() {defer fmt.Println("A.defer")func() {defer fmt.Println("B.defer")//退出当前goroutinefmt.Println("B")}()fmt.Println("A")}()//死循环for  {time.Sleep(1 * time.Second)}}

在这里插入图片描述
二、退出方式
1、return

package mainimport ("fmt""time"
)func main() {//用go创建承载一个形参为空,返回值为空的一个函数go func() {defer fmt.Println("A.defer")returnfunc() {defer fmt.Println("B.defer")//退出当前goroutinefmt.Println("B")}()fmt.Println("A")}()//死循环for  {time.Sleep(1 * time.Second)}}

在这里插入图片描述
2、用runtime.Goexit()

package mainimport ("fmt""runtime""time"
)func main() {//用go创建承载一个形参为空,返回值为空的一个函数go func() {defer fmt.Println("A.defer")//returnfunc() {defer fmt.Println("B.defer")//退出当前goroutineruntime.Goexit()fmt.Println("B")}()fmt.Println("A")}()//死循环for  {time.Sleep(1 * time.Second)}}

在这里插入图片描述
三、传入一个形参

package mainimport ("fmt""time"
)func main() {//用go创建承载一个形参为空,返回值为空的一个函数//go func() {//	defer fmt.Println("A.defer")//	//return//	func() {//		defer fmt.Println("B.defer")//		//退出当前goroutine//		runtime.Goexit()//		fmt.Println("B")//	}()//	fmt.Println("A")//}()//传入一个有参数的go func(a int,b int) bool {fmt.Println("a = ",a,"b = ",b)return true}(10,20)//死循环for  {time.Sleep(1 * time.Second)}}

在这里插入图片描述

http://www.lryc.cn/news/290105.html

相关文章:

  • 城市开发区视频系统建设方案:打造视频基座、加强图像数据治理
  • 宏景eHRSmsAcceptGSTXServle存在XXE漏洞
  • LLVM实战之模块化设计
  • 可以运行在浏览器的Windows 2000
  • CUDA笔记
  • Open CASCADE学习| ​提取曲面的PCurve
  • GMS测试BTSfail-CVE-2022-20451
  • Vue学习笔记12--Vue3之setup/ref函数/reactive函数/Vue3响应式原理/reactive对比ref
  • 座位预约|座位预约小程序|基于微信小程序的图书馆自习室座位预约管理系统设计与实现(源码+数据库+文档)
  • 03 Redis之命令(基本命令+Key命令+String型Value命令与应用场景)
  • go语言函数进阶
  • Python编程技巧 – 函数参数
  • python222网站实战(SpringBoot+SpringSecurity+MybatisPlus+thymeleaf+layui)-帖子管理实现
  • LabVIEW扫频阻抗测试系统
  • C语言——指针进阶(四)
  • Django介绍
  • 【idea】几个不错的idea插件让我码速又快了
  • LabVIEW直流电机转速检测与控制
  • ༺༽༾ཊ—Unity之-05-抽象工厂模式—ཏ༿༼༻
  • 力扣面试题02.07-链表相交
  • Java集合-ArrayList
  • 数据结构·单链表经典例题
  • Linux常用指令的整合
  • 阿里云centos安装mysql,并修改初始密码
  • 【JavaScript基础入门】04 JavaScript基础语法(二)
  • 标准库中的string类(下)——“C++”
  • 如何使用Docker部署火狐浏览器并实现无公网ip远程访问
  • 瑞_数据结构与算法_AVL树
  • BGP同步规则
  • Linux命令-apt-key命令(管理Debian Linux系统中的软件包密钥)