val_mut.go 846 B

12345678910111213141516171819202122232425262728293031
  1. // package val_mut -- изменяемое значение
  2. package val_mut
  3. import (
  4. "gitp78su.ipnodns.ru/svi/prolet/lang/alias"
  5. "gitp78su.ipnodns.ru/svi/prolet/lang/types"
  6. )
  7. // ValMut -- изменяемое значение, определяется в рантайме и может быть изменено
  8. type ValMut struct {
  9. val int // Хранимое значение
  10. }
  11. // NewValMut -- возвращает новое изменяемое значение в рантайме
  12. func NewValMut(val int) *ValMut {
  13. sf := &ValMut{
  14. val: val,
  15. }
  16. _ = types.IValMut(sf)
  17. return sf
  18. }
  19. // Set -- устанавливает хранимое значение
  20. func (sf *ValMut) Set(val int) {
  21. sf.val = val
  22. }
  23. // IsLive -- признак жизни сущности
  24. func (sf *ValMut) IsLive() alias.Lifetime {
  25. return alias.Lifetime(true)
  26. }