版权声明:转载请注明出处,谢谢。 https://blog.csdn.net/butterfly5211314/article/details/81416668
今天(2018-08-04)在学习cache2go时发现其回调只是一个函数, 而不是一个队列, 所以想写一个函数队列(其实就是一组函数), 简单实现如下:
package main
import (
"fmt"
)
// 简单echo函数生成器, 生成的函数可打印任意值
func makeEchoFunc(echoWhat interface{}) func(){
return func() {
fmt.Println(echoWhat)
}
}
func main() {
// 回调队列
callbacks := make([]func(), 0)
// 往队列中添加回调函数
callbacks = append(callbacks,
makeEchoFunc(1),
makeEchoFunc("hello"),
makeEchoFunc([...]int{6, 7, 8}),
makeEchoFunc(map[string]string{"key": "value"}))
// 模拟触发执行
for _, f := range callbacks {
f()
}
}
// 输出如下:
1
hello
[6 7 8]
map[key:value]
小小记录,加油!