def_let.go 465 B

1234567891011121314151617
  1. // package def_let -- неизменяемый контейнер
  2. package def_let
  3. // Let -- неизменяемый контейнер
  4. type Let[T any] struct {
  5. val T
  6. }
  7. // NewLet -- возвращает новый параметрический неизменяемый контейнер
  8. func NewLet[T any](val T) *Let[T] {
  9. return &Let[T]{val: val}
  10. }
  11. // Get -- возвращает хранимое значение
  12. func (l *Let[T]) Get() T {
  13. return l.val
  14. }