| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- // 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 {
- defs.IStr
- // 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
- }
- // Str -- возвращает внутреннюю строку.
- func (sf *ModuleName) Str() defs.AStr {
- return defs.AStr(sf.name)
- }
- // String -- строковое представление.
- //
- //go:fix inline
- func (sf *ModuleName) String() string {
- return string(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() defs.Int {
- return defs.Int(len(sf.name))
- }
|