// package module_name -- имя модуля package module_name import ( "gitp78su.ipnodns.ru/svi/kern/v4/d0" ) // AModuleName -- уникальное имя модуля. type AModuleName d0.Txt // Имя модуля type moduleName struct { name AModuleName } // LModuleName -- фиксированное имя модуля. type LModuleName struct { moduleName } // MModuleName -- изменяемое имя модуля. type MModuleName struct { LModuleName } // LetModuleName -- создать фиксированнанное имя модуля. func LetModuleName(val AModuleName) *LModuleName { sf := &LModuleName{ name: val, } return sf } // MutModuleName -- создать новое имзменяемое имя модуля. func MutModuleName(val AModuleName) *MModuleName { d0.If(val == "").Hassert("NewAModuleName(): val is empty") sf := &MModuleName{ LModuleName: *LetModuleName(val), } return sf } // String -- строковое представление. func (sf moduleName) String() string { return string(sf.name) } // Txt -- возвращает строковое представление func (sf moduleName) Txt() d0.Txt { return d0.Txt(sf.name) } // Get -- возвращает имя модуля. func (sf moduleName) Get() AModuleName { return 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() d0.Num { return d0.Num(len(sf.name)) }