// package def_mut -- параметрический изменяемый контейнер package def_mut // Mut -- параметрический изменяемый контейнер type Mut[T any] struct { val T } // NewMut -- возвращает новый параметрический изменяемый контейнер func NewMut[T any](val T) *Mut[T] { return &Mut[T]{val: val} } // Get -- возвращает хранимое значение func (sf *Mut[T]) Get() T { return sf.val } // Set -- устанавливает хранимое значение func (sf *Mut[T]) Set(val T) { sf.val = val }