Go语言 提前退出go程

本篇文章内容为Go语言中 提前退出Go程的三种方式介绍及代码示例。

目录

提前退出go程方式

[Return 使用示例](#Return 使用示例)

[Exit 使用示例](#Exit 使用示例)

[Goexit 使用示例](#Goexit 使用示例)

总结


提前退出go程方式

GOEXIT:提前退出当前go程

return:返回当前函数

exit : 退出当前进程

Return 使用示例

在子go程中的匿名函数中使用return后,会返回子go程中,继续向下执行。

示例如下:

Go 复制代码
package main

import (
   "fmt"
   "time"
)

func main() {
   go func() {
      func(){
         fmt.Println("这是子go进程内部函数!")
         return // 返回当前函数
      }()
      fmt.Println("子进程结束!")
   }()

   fmt.Println("这是主go程!")
   time.Sleep(3 * time.Second)
   fmt.Println("结束!")
}

运行结果:

bash 复制代码
这是主go程!
这是子go进程内部函数!
子进程结束!
结束!

Exit 使用示例

在子go程中的匿名函数中使用exit后,会退出当前执行子go进程,不在继续打印。

示例如下:

Go 复制代码
package main

import (
   "fmt"
   "os"
   "time"
)

func main() {
   go func() {
      func(){
         fmt.Println("这是子go进程内部函数!")
         // return // 返回当前函数
         os.Exit(-1) // 退出进程
      }()
      fmt.Println("子进程结束!")
   }()

   fmt.Println("这是主go程!")
   time.Sleep(3 * time.Second)
   fmt.Println("结束!")
}

运行结果:

bash 复制代码
这是主go程!

这是子go进程内部函数!

exit status 0xffffffff

Goexit 使用示例

在子go程中的匿名函数中使用goexit后,会退出当前的子进程执行。

示例如下:

Go 复制代码
package main

import (
   "fmt"
   //"os"
   "runtime"
   "time"
)

func main() {
   go func() {
      func(){
         fmt.Println("这是子go进程内部函数!")
         // return // 返回当前函数
         // os.Exit(-1) // 退出当前子go进程
         runtime.Goexit() //
      }()
      fmt.Println("子进程结束!")
   }()

   fmt.Println("这是主go程!")
   time.Sleep(3 * time.Second)
   fmt.Println("结束!")
}

不会打印,提前退出当前go程。

执行结果:

bash 复制代码
这是主go程!

这是子go进程内部函数!

结束!

总结

本篇文章内容为Go语言中 提前退出Go程的三种方式介绍及代码示例。

相关推荐
bobz9651 分钟前
ThanosRuler
后端
萤丰信息5 分钟前
技术赋能安全:智慧工地构建城市建设新防线
java·大数据·开发语言·人工智能·智慧城市·智慧工地
用户4822137167757 分钟前
C++——字符串常量、二维数组、函数与指针的深度应用(补)
后端
用户4822137167759 分钟前
C++——类型转换
后端
lichenyang45317 分钟前
mongoose(对象文档模型库)的使用
后端
用户48221371677519 分钟前
C++——继承进阶
后端
Pocker_Spades_A28 分钟前
飞算JavaAI家庭记账系统:从收支记录到财务分析的全流程管理方案
java·开发语言
洛卡卡了43 分钟前
数据库加密方案实践:我们选的不是最完美,但是真的够用了。
数据库·后端·面试
Java中文社群43 分钟前
淘宝首位程序员离职,竟投身AI新公司做这事!
人工智能·后端·程序员
big_eleven1 小时前
轻松掌握数据结构:二叉树
后端·算法·面试