| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- // 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
- }
|