美文网首页
golang中map的用法存储函数

golang中map的用法存储函数

作者: 清晨的麦田 | 来源:发表于2019-07-01 11:55 被阅读0次
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的用法存储函数

    执行结果

  • Golang map

    Golang map map用来存储多个键值对,与java中的map功能相似。 直接声明 需要注意: key,va...

  • Python3中一些高阶函数map、reduce、filter详

    ython中的map()函数是一个内置的高阶函数,一般用法是map(function, iterable)。需要传...

  • python高阶函数

    一、lambda表达式 用法: lambda 参数列表:函数体 三元运算符 二、map函数 用法:map(函数,可...

  • Python学习记录

    基本语法 Python lambda介绍 常用函数 python map( )函数用法map将传入的函数f依次作用...

  • golang 从 map 获取值时的值拷贝问题

    实际场景 我们知道 golang 中,slice, map, channel 是引用类型,函数之间传递都是以值拷贝...

  • Go Cache

    缓存 缓存最简单的莫过于存储在内存中的键值对,键值对在Golang中称之为map。使用map做内存缓存时,每次有新...

  • js 高阶函数

    filter map reduce filter 高阶函数的用法 filter 中的回调函数有一个要求:必须返回...

  • 【golang】HashMap原理和实现

    原理 我们都知道怎么使用goLang中的map来存储键值对类型的数据,但是它的内部实现是怎么样的? 其实map是一...

  • HashMap原理和实现

    原理 我们都知道怎么使用goLang中的map来存储键值对类型的数据,但是它的内部实现是怎么样的? 其实map是一...

网友评论

      本文标题:golang中map的用法存储函数

      本文链接:https://www.haomeiwen.com/subject/jntycctx.html