golang map 存储函数
发布时间:2021-04-13 编辑:jiaochengji.com
教程集为您提供golang map 存储函数等资源,欢迎您收藏本站,我们将为您提供最新的golang map 存储函数资源
代码实例:
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
到此这篇关于“golang map 存储函数”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!
您可能感兴趣的文章:
golang map笔记
golang map 存储函数
Golang从入门到放弃200618--Map(1)Map的初始化和基本操作
Golang的 Json string和Map互相转换
Golang json string和Map互相转换
golang map 详解
golang key map 所有_golang推断map中指定key是不是存在_后端开发
golang中map地址改变示例
golang中map的一些注意事项
golang key map 所有_golang系列——高级语法之map
[关闭]