learning-weekly icon indicating copy to clipboard operation
learning-weekly copied to clipboard

【开源自荐】go-events 是一个 go 实现的事件及事件过滤器库

Open deatil opened this issue 6 months ago • 0 comments

  • 项目地址:https://github.com/deatil/go-events
  • 项目官网:https://github.com/deatil/go-events
  • 语言类别:go
  • 项目标题:go-events 事件库
  • 项目描述:go-events 是一个 go 实现的事件及事件过滤器库
package main

import (
    "fmt"
    "github.com/deatil/go-events/events"
)

func main() {
    // use action
    events.AddAction("test1", func() {
        fmt.Println("test1")
    }, events.DefaultSort)
    
    events.DoAction("test1")
    
    // use Filter
    events.AddFilter("test1", func(val string) string {
        return "run test1 => " + val
    }, events.DefaultSort)

    data1 := "init1"
    test := events.ApplyFilters("test1", data1)
    
    fmt.Println(test)
    // output: run test1 => init1 
}

deatil avatar Jul 30 '24 12:07 deatil