state_res.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // package state_res -- состояние результата
  2. package state_res
  3. // AResType -- тип результата
  4. type AResType string
  5. const (
  6. ResTypeInt = AResType("int")
  7. )
  8. var (
  9. // DictType -- список допустимыз типов
  10. DictType = map[AResType]bool{
  11. ResTypeInt: true,
  12. }
  13. )
  14. // StateRes -- состояние результата
  15. type StateRes struct {
  16. resType AResType // Тип результата
  17. res any // Результат последней операции по int
  18. }
  19. // NewStateRes -- возвращает новый объект результата
  20. func NewStateRes() *StateRes {
  21. return &StateRes{
  22. resType: ResTypeInt,
  23. res: 0,
  24. }
  25. }
  26. // Type -- возвращает тип результата
  27. func (sf *StateRes) Type() AResType {
  28. return sf.resType
  29. }
  30. // Set -- установка результата
  31. func (sf *StateRes) Set(resType AResType, res any) {
  32. sf.resType = ResTypeInt
  33. sf.res = res
  34. }
  35. // Get -- возвращает результат
  36. func (sf *StateRes) Get() any {
  37. return sf.res
  38. }