// package def_let -- неизменяемый контейнер package def_let // Let -- неизменяемый контейнер type Let[T any] struct { val T } // NewLet -- возвращает новый параметрический неизменяемый контейнер func NewLet[T any](val T) *Let[T] { return &Let[T]{val: val} } // Get -- возвращает хранимое значение func (l *Let[T]) Get() T { return l.val }