// package def_let_int -- внутренне неизменяемое целое package def_let_int import ( "encoding/binary" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_let" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_spec_base" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_spec_fn" ) // LInt -- внутренне неизменяемое целое. type LInt struct { *def_let.Let[def_spec_base.Int] } // LetInt -- возвращает новое внутреннее неизменяемое целое. func LetInt(val def_spec_base.Int) *LInt { sf := &LInt{ Let: def_let.NewLet(val), } return sf } // Get -- возвращает хранимое значение потокобезопасной переменной. func (sf *LInt) Get() def_spec_base.Int { return sf.Let.Get() } // ToStr -- возвращает как строку. func (sf *LInt) ToStr() def_spec_base.ATxt { return def_spec_fn.Sprintf("%v", sf.Let.Get()) } // ToByte -- возвращает как срез байт. func (sf *LInt) ToByte() []byte { buf := make([]byte, 8) binary.BigEndian.PutUint64(buf, uint64(sf.Let.Get())) return buf }