内容简介:执行结果
package main
import (
"runtime"
"sync"
"os"
"os/signal"
"syscall"
"fmt"
)
//定义函数类型
type Msg func(name string) string
func main() {
runtime.GOMAXPROCS(runtime.NumCPU())
wg := &sync.WaitGroup{}
c := make(chan os.Signal, 1)
handleMap := make(map[int]Msg)
handleMap[1] = handle1
handleMap[2] = handle2
handleMap[3] = handle3
signal.Notify(c, os.Interrupt, syscall.SIGTERM, syscall.SIGQUIT)
go func() {
sig := <-c
_ = sig
s := handleMap[3]
s("测试")
wg.Done()
}()
wg.Add(1)
fmt.Println("执行任务~~~")
wg.Wait()
fmt.Printf("结束")
}
func handle1(name string) string {
fmt.Println(name)
return "handle1"
}
func handle2(name string) string {
fmt.Println("handle2")
return "handle2"
}
func handle3(tt string) string {
fmt.Println(tt)
return "handle3"
}
执行结果
执行任务~~~ 测试 结束 Process finished with exit code 0
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Java构造函数与普通函数用法详解
- Oracle 中 decode 函数用法
- Oracle中的translate函数和replace函数的用法详解
- Oracle 中Contains 函数的用法
- Keras中几个重要函数用法
- Python map、reduce函数用法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Linux程序设计
Neil Matthew、Richard Stones / 陈健、宋健建 / 人民邮电出版社 / 201005 / 99.00元
时至今日,Linux系统已经从一个个人作品发展为可以用于各种关键任务的成熟、高效和稳定的操作系统,因为具备跨平台、开源、支持众多应用软件和网络协议等优点,它得到了各大主流软硬件厂商的支持,也成为广大程序设计人员理想的开发平台。 本书是Linux程序设计领域的经典名著,以简单易懂、内容全面和示例丰富而受到广泛好评。中文版前两版出版后,在国内的Linux爱好者和程序员中也引起了强烈反响,这一热潮......一起来看看 《Linux程序设计》 这本书的介绍吧!