// package module_name -- имя модуля package module_name import ( "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 AModuleName } // NewModuleName -- создать новое имя модуля. func NewModuleName(val AModuleName) *ModuleName { helpers.Hassert(val != "", "NewAModuleName(): val is empty") sf := &ModuleName{ name: val, } _ = IModuleNameFix(sf) return sf } // String -- строковое представление. // //go:fix inline func (sf *ModuleName) String() string { return string(sf.name) } // Get -- получить строковое представление. func (sf *ModuleName) Get() AModuleName { return sf.name }