package main

import (
"fmt"
"runtime"
"time"
) func main() {
// 用goroutine创建承载一个形参为空,返回值为空的一个函数
go func() {
defer fmt.Println("A.defer")
func() {
defer fmt.Println("B.defer")
// 退出当前的goroutine
runtime.Goexit()
fmt.Println("B")
}()
fmt.Println("A")
}()
time.Sleep(time.Millisecond * 200) // 因为goroutine是异步操作,所以不能直接拿到返回值的,
// 如果两个goroutine中想互相通信,可以通过channel
go func(a, b int) bool {
fmt.Println("a = ", a, "b = ", b)
return true
}(10, 20)
} // 输出结果
/*
B.defer
A.defer
*/

  

最新文章

  1. Linux中的命令 make -f 是什么意思
  2. GJM : Unity3D 常用网络框架与实战解析 【笔记】
  3. Error: An App ID with identifier "*****" is not avaliable. Please enter a different string.
  4. 总结:Unity3D游戏上线后的流程回顾
  5. 第二章实例:ArrayAdapter结合ListView列表视图
  6. Thrift入门
  7. FreeMarker的用法
  8. Python-将json文件写入ES数据库
  9. informix 随笔
  10. 设置外部查找工具来索引 Confluence 6
  11. JavaScript中的定时事件
  12. C# 队列和栈 线程安全
  13. hdu 5092 线裁剪(纵向连线最小和+输出路径)
  14. Linux下设置和查看环境变量
  15. MySQL 用户管理及权限管理
  16. nodejs中命令行中参数的获取和解析
  17. 按位与&、按位或|、按位异或^
  18. http请求发生了两次(options请求)
  19. bootstrap源码学习与示例:bootstrap-tab
  20. 【JAVA】虚拟机指令集

热门文章

  1. 总结Vue第一天:简单介绍、基本常用知识、辅助函数
  2. JAVA将Object数组转换为String数组
  3. 模块化和webpack模块化打包
  4. 【LeetCode】168. Excel Sheet Column Title 解题报告(Java & Python & C++)
  5. 【LeetCode】76. Minimum Window Substring 最小覆盖子串(Python & C++)
  6. 【LeetCode】844. Backspace String Compare 解题报告(Python)
  7. Anti-prime Sequences
  8. idea使用教程-Module的概念和使用
  9. 第十八个知识点:画一个描述ECB,CBC,CTR模式的操作
  10. CoGAN