golang中map的用法存储函数

栏目: Go · 发布时间: 6年前

内容简介:执行结果
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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

后现代经济

后现代经济

姜奇平 / 中信出版社 / 2009-7 / 45.00元

《后现代经济:网络时代的个性化和多元化》站在历史“终结”与“开始”的切换点上,以价值、交换、货币、资本、组织、制度、福利等方面为线索,扬弃现代性经济学,对工业化进行反思,深刻剖析了“一切坚固的东西都烟消云散”的局限性,在此基础上展开对现代性经济的解构和建构。“9·11”中坚固的世贸中心大楼灰飞烟灭,2008年坚固的华尔街投资神话彻底破灭,坚固的雷曼兄弟公司在挺立了158年后烟消云散……一切坚固的东......一起来看看 《后现代经济》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换