1234567891011121314151617181920212223242526272829303132333435 |
- package main
- import (
- "context"
- "fmt"
- "github.com/looplab/fsm"
- )
- func main() {
- fsm := fsm.NewFSM(
- "closed",
- fsm.Events{
- {Name: "open", Src: []string{"closed"}, Dst: "open"},
- {Name: "close", Src: []string{"open"}, Dst: "closed"},
- },
- fsm.Callbacks{},
- )
- fmt.Println(fsm.Current())
- err := fsm.Event(context.Background(), "open")
- if err != nil {
- fmt.Println(err)
- }
- fmt.Println(fsm.Current())
- err = fsm.Event(context.Background(), "close")
- if err != nil {
- fmt.Println(err)
- }
- fmt.Println(fsm.Current())
- }
|