| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- // package def_let_int -- внутренне неизменяемое целое
- package def_let_int
- import (
- "encoding/binary"
- "fmt"
- "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 {
- val def_spec_base.Int
- }
- // LetInt -- возвращает новое внутреннее неизменяемое целое.
- func LetInt(val def_spec_base.Int) *LInt {
- sf := &LInt{
- val: val,
- }
- return sf
- }
- // Get -- возвращает хранимое значение потокобезопасной переменной.
- func (sf *LInt) Get() def_spec_base.Int {
- return sf.val
- }
- // ToStr -- возвращает как строку.
- func (sf *LInt) ToStr() def_spec_base.ATxt {
- return def_spec_fn.Sprintf("%v", sf.val)
- }
- // ToByte -- возвращает как срез байт.
- func (sf *LInt) ToByte() []byte {
- buf := make([]byte, 8)
- binary.BigEndian.PutUint64(buf, uint64(sf.val))
- return buf
- }
- // Int -- возвращает число
- func (sf *LInt) Int() int {
- return int(sf.val)
- }
- // String -- возвращает строку
- func (sf *LInt) String() string {
- return fmt.Sprintf("%v", sf.val)
- }
|