// package module_name -- имя модуля package module_name import ( "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers" ) // AModuleName -- уникальное имя модуля. type AModuleName string // IModuleNameFix -- фиксированное имя модуля. type IModuleNameFix interface { // Get -- получить имя модуля Get() AModuleName // String -- строковое представление имени модуля String() string } type ModuleName struct { name defs.ITxtFix } // NewModuleName -- создать новое имя модуля. func NewModuleName(val AModuleName) *ModuleName { helpers.Hassert(val != "", "NewAModuleName(): val is empty") sf := &ModuleName{ name: defs.ITxtFix(val), } _ = IModuleNameFix(sf) return sf } // Txt -- возвращает внутренне представление имени модуля. func (sf *ModuleName) Txt() defs.ITxtFix { return sf.name } // String -- строковое представление. func (sf *ModuleName) String() string { return string(sf.name) } // Get -- возвращает имя модуля. func (sf *ModuleName) Get() AModuleName { return AModuleName(sf.name) } // Byte -- возвращает байты. func (sf *ModuleName) Byte() []byte { return []byte(sf.name) } // Rune -- возвращает руны. func (sf *ModuleName) Rune() []rune { return []rune(sf.name) } // Len -- длина строки. func (sf *ModuleName) Len() defs.Int { return defs.Int(len(sf.name)) }