def_spec.go 804 B

12345678910111213141516171819202122232425262728
  1. // package def_spec -- внутренние спецификации типы
  2. package def_spec
  3. import (
  4. "fmt"
  5. )
  6. // Int -- алиас для int.
  7. type Int int
  8. // ATxt -- алиас для внутренней строки.
  9. type ATxt string
  10. // IString -- интерфейс к стандартной строке.
  11. type IString interface {
  12. // String -- возвращает стандартную строку
  13. String() string
  14. }
  15. // Sprintf -- форматирует строку с помощью fmt.Sprintf.
  16. func Sprintf[T TxtConstraint](msgFmt T, args ...interface{}) ATxt {
  17. return ATxt(fmt.Sprintf(string(msgFmt), args...))
  18. }
  19. // TxtConstraint -- разрешает строки и любые типы на его основе (например, ATxt).
  20. type TxtConstraint interface {
  21. ~string
  22. }