| 1234567891011121314151617181920212223242526272829 |
- // package def_let -- неизменяемый контейнер
- package def_let
- import (
- "gitp78su.ipnodns.ru/svi/kern/v4/d0/defs/table/owner"
- "gitp78su.ipnodns.ru/svi/kern/v4/d0/helpers"
- )
- // Let -- неизменяемый контейнер
- type Let[T any] struct {
- owner *owner.LOwner
- val T
- }
- // NewLet -- возвращает новый параметрический неизменяемый контейнер
- func NewLet[T any](owner *owner.LOwner, val T) *Let[T] {
- helpers.If(owner == nil).Hassert("NewLet(): owner==nil")
- sf := &Let[T]{
- owner: owner,
- val: val,
- }
- return sf
- }
- // Get -- возвращает хранимое значение
- func (sf *Let[T]) Get() T {
- sf.owner.Pass().CheckOwner()
- return sf.val
- }
|