Documentation
¶
Overview ¶
Example (StringPointerBasic) ¶
Estos ejemplos ilustran cómo usar los punteros a strings para evitar asignaciones adicionales
// Creamos una variable string que queremos modificar myText := "héllô wórld" // En lugar de crear una nueva variable con el resultado, // modificamos directamente la variable original usando Apply() Convert(&myText).Tilde().Low().Apply() // La variable original ha sido modificada fmt.Println(myText)
Output: hello world
Example (StringPointerCamelCase) ¶
// Ejemplo de uso con múltiples transformaciones originalText := "Él Múrcielago Rápido" // Las transformaciones modifican la variable original directamente // usando el método Apply() para actualizar el puntero Convert(&originalText).Tilde().CamelLow().Apply() fmt.Println(originalText)
Output: elMurcielagoRapido
Example (StringPointerEfficiency) ¶
// En aplicaciones de alto rendimiento, reducir asignaciones de memoria // puede ser importante para evitar la presión sobre el garbage collector // Método tradicional (crea nuevas asignaciones de memoria) traditionalText := "Texto con ACENTOS" processedText := Convert(traditionalText).Tilde().Low().String() fmt.Println(processedText) // Método con punteros (modifica directamente la variable original) directText := "Otro TEXTO con ACENTOS" Convert(&directText).Tilde().Low().Apply() fmt.Println(directText)
Output: texto con acentos otro texto con acentos
Index ¶
- Constants
- Variables
- func Contains(conv, search string) bool
- func Convert(v ...any) *conv
- func Count(conv, search string) int
- func Err(msgs ...any) *conv
- func Errf(format string, args ...any) *conv
- func Fmt(format string, args ...any) string
- func OutLang(l ...lang)
- func T(values ...any) string
- type LocStr
Examples ¶
Constants ¶
const ( KArray kind = iota KBool KChan KComplex128 KComplex64 KErr // Error type (separate from KInvalid) KFloat32 KFloat64 KFunc KInt KInt16 KInt32 KInt64 KInt8 KInterface KInvalid KMap KPointer KSlice KString KSliceStr // Slice of strings KStruct KUint KUint16 KUint32 KUint64 KUint8 KUintptr KUnsafePtr )
const ( // Group 1: Core Essential Languages (Maximum Global Reach) EN lang = iota // 0 - English (default) ES // 1 - Spanish ZH // 2 - Chinese HI // 3 - Hindi AR // 4 - Arabic // Group 2: Extended Reach Languages (Europe & Americas) PT // 5 - Portuguese FR // 6 - French DE // 7 - German RU // 8 - Russian )
Variables ¶
var D = struct { // Basic words sorted alphabetically for maximum reusability Allowed LocStr // "allowed" Argument LocStr // "argument" At LocStr // "at" Base LocStr // "base" Boolean LocStr // "boolean" Cannot LocStr // "cannot" Character LocStr // "character" Decimal LocStr // "decimal" Delimiter LocStr // "delimiter" Digit LocStr // "digit" Empty LocStr // "empty" End LocStr // "end" Float LocStr // "float" For LocStr // "for" Format LocStr // "format" Found LocStr // "found" In LocStr // "in" Integer LocStr // "integer" Invalid LocStr // "invalid" Missing LocStr // "missing" Negative LocStr // "negative" NonNumeric LocStr // "non-numeric" Not LocStr // "not" Number LocStr // "number" Numbers LocStr // "numbers" Of LocStr // "of" Out LocStr // "out" Overflow LocStr // "overflow" Range LocStr // "range" Required LocStr // "required" Round LocStr // "round" Specifier LocStr // "specifier" String LocStr // "string" Supported LocStr // "supported" Type LocStr // "type" Unknown LocStr // "unknown" Unsigned LocStr // "unsigned" Value LocStr // "value" }{ Allowed: LocStr{"allowed", "permitido", "允许", "अनुमति", "مسموح", "permitido", "autorisé", "erlaubt", "разрешено"}, Argument: LocStr{"argument", "argumento", "参数", "तर्क", "وسيط", "argumento", "argument", "Argument", "аргумент"}, At: LocStr{"at", "en", "在", "पर", "في", "em", "à", "bei", "в"}, Base: LocStr{"base", "base", "进制", "आधार", "قاعدة", "base", "base", "Basis", "основание"}, Boolean: LocStr{"boolean", "booleano", "布尔", "बूलियन", "منطقي", "booleano", "booléen", "boolescher", "логический"}, Cannot: LocStr{"cannot", "no puede", "不能", "नहीं कर सकते", "لا يمكن", "não pode", "ne peut pas", "kann nicht", "не может"}, Character: LocStr{"character", "caracter", "字符", "वर्ण", "حرف", "caractere", "caractère", "Zeichen", "символ"}, Decimal: LocStr{"decimal", "decimal", "十进制", "दशमलव", "عشري", "decimal", "décimal", "Dezimal", "десятичная"}, Delimiter: LocStr{"delimiter", "delimitador", "分隔符", "सीमांकक", "محدد", "delimitador", "délimiteur", "Trennzeichen", "разделитель"}, Digit: LocStr{"digit", "dígito", "数字", "अंक", "رقم", "dígito", "chiffre", "Ziffer", "цифра"}, Empty: LocStr{"empty", "vacío", "空", "खाली", "فارغ", "vazio", "vide", "leer", "пустой"}, End: LocStr{"end", "fin", "结束", "अंत", "نهاية", "fim", "fin", "Ende", "конец"}, Float: LocStr{"float", "flotante", "浮点", "फ्लोट", "عائم", "flutuante", "flottant", "Gleitkomma", "число с плавающей точкой"}, For: LocStr{"for", "para", "为", "के लिए", "لـ", "para", "pour", "für", "для"}, Format: LocStr{"format", "formato", "格式", "प्रारूप", "تنسيق", "formato", "format", "Fmt", "формат"}, Found: LocStr{"found", "encontrado", "找到", "मिला", "موجود", "encontrado", "trouvé", "gefunden", "найден"}, Integer: LocStr{"integer", "entero", "整数", "पूर्णांक", "عدد صحيح", "inteiro", "entier", "ganze Zahl", "целое число"}, Invalid: LocStr{"invalid", "inválido", "无效", "अमान्य", "غير صالح", "inválido", "invalide", "ungültig", "недопустимый"}, Missing: LocStr{"missing", "falta", "缺少", "गुम", "مفقود", "ausente", "manquant", "fehlend", "отсутствует"}, Negative: LocStr{"negative", "negativo", "负", "नकारात्मक", "سالب", "negativo", "négatif", "negativ", "отрицательный"}, NonNumeric: LocStr{"non-numeric", "no numérico", "非数字", "गैर-संख्यात्मक", "غير رقمي", "não numérico", "non numérique", "nicht numerisch", "нечисловой"}, Not: LocStr{"not", "no", "不", "नहीं", "ليس", "não", "pas", "nicht", "не"}, Number: LocStr{"number", "número", "数字", "संख्या", "رقم", "número", "nombre", "Zahl", "число"}, Numbers: LocStr{"numbers", "números", "数字", "संख्याएं", "أرقام", "números", "nombres", "Zahlen", "числа"}, Of: LocStr{"of", "de", "的", "का", "من", "de", "de", "von", "из"}, Out: LocStr{"out", "fuera", "出", "बाहर", "خارج", "fora", "hors", "aus", "вне"}, Overflow: LocStr{"overflow", "desbordamiento", "溢出", "ओवरफ्लो", "فيض", "estouro", "débordement", "Überlauf", "переполнение"}, Range: LocStr{"range", "rango", "范围", "रेंज", "نطاق", "intervalo", "plage", "Bereich", "диапазон"}, Required: LocStr{"required", "requerido", "必需", "आवश्यक", "مطلوب", "necessário", "requis", "erforderlich", "обязательный"}, Round: LocStr{"round", "redondear", "圆", "गोल", "جولة", "arredondar", "arrondir", "runden", "округлить"}, Specifier: LocStr{"specifier", "especificador", "说明符", "निर्दिष्टकर्ता", "محدد", "especificador", "spécificateur", "Spezifizierer", "спецификатор"}, String: LocStr{"string", "cadena", "字符串", "स्ट्रिंग", "سلسلة", "string", "chaîne", "Zeichenkette", "строка"}, Supported: LocStr{"supported", "soportado", "支持", "समर्थित", "مدعوم", "suportado", "pris en charge", "unterstützt", "поддерживается"}, Type: LocStr{"type", "tipo", "类型", "प्रकार", "نوع", "tipo", "type", "Typ", "тип"}, Unknown: LocStr{"unknown", "desconocido", "未知", "अज्ञात", "غير معروف", "desconhecido", "inconnu", "unbekannt", "неизвестный"}, Unsigned: LocStr{"unsigned", "sin signo", "无符号", "अहस्ताक्षरित", "غير موقع", "sem sinal", "non signé", "vorzeichenlos", "безzнаковый"}, Value: LocStr{"value", "valor", "值", "मूल्य", "قيمة", "valor", "valeur", "Wert", "значение"}, }
Global dictionary instance - populated with all translations using horizontal format Language order: EN, ES, ZH, HI, AR, PT, FR, DE, RU
By using an anonymous struct, we define and initialize the dictionary in a single step, avoiding the need for a separate 'type dictionary struct' declaration. The usage API (e.g., D.Argument) remains unchanged.
Functions ¶
func Contains ¶ added in v0.0.8
Contains checks if the string 'search' is present in 'conv' Returns true if found, false otherwise This matches the behavior of the standard library strings.Contains
func Convert ¶
func Convert(v ...any) *conv
Convert initializes a new conv struct with optional value for string,bool and number manipulation. REFACTORED: Now accepts variadic parameters - Convert() or Convert(value) Phase 7: Uses object pool internally for memory optimization (transparent to user)
func Count ¶ added in v0.1.6
Count checks how many times the string 'search' is present in 'conv' eg: "hello world" with search "world" will return 1
func Errf ¶ added in v0.1.3
Errf creates a new conv instance with error formatting similar to fmt.Errf Example: tinystring.Errf("invalid value: %s", value).Error()
func Fmt ¶ added in v0.1.3
Fmt formats a string using a printf-style format string and arguments. Example: Fmt("Hello %s", "world") returns "Hello world"
func OutLang ¶ added in v0.1.3
func OutLang(l ...lang)
OutLang sets the default output language OutLang() without parameters auto-detects system language OutLang(ES) sets Spanish as default
func T ¶ added in v0.1.3
T creates a translated string with support for multilingual translations Same functionality as Err but returns string directly instead of *conv This function is used internally by the builder API for efficient string construction
Usage examples: T(D.Format, D.Invalid) returns "invalid format" T(ES, D.Format, D.Invalid) returns "formato inválido"
Types ¶
type LocStr ¶ added in v0.1.4
type LocStr [9]string
LocStr represents a string with translations for multiple languages.
It is a fixed-size array where each index corresponds to a language constant (EN, ES, PT, etc.). This design ensures type safety and efficiency, as the compiler can verify that all translations are provided.
The order of translations must match the order of the language constants.
Example of creating a new translatable term for "File":
var MyDictionary = struct { File LocStr }{ File: LocStr{ EN: "file", ES: "archivo", ZH: "文件", HI: "फ़ाइल", AR: "ملف", PT: "arquivo", FR: "fichier", DE: "Datei", RU: "файл", }, }
Usage in code:
err := Err(MyDictionary.File, D.Not, D.Found) // -> "file not found", "archivo no encontrado", etc.
Source Files
¶
- bool.go
- builder.go
- capitalize.go
- compact_float.go
- contain.go
- convert.go
- dictionary.go
- env.back.go
- error.go
- fmt_number.go
- fmt_precision.go
- fmt_template.go
- join.go
- kind.go
- language.go
- mapping.go
- memory.go
- num_float.go
- num_int.go
- parse.go
- quote.go
- repeat.go
- replace.go
- sci_format.go
- split.go
- translation.go
- truncate.go
- wr_uintbase.go