Avatar ·

¿Go no tiene funciones strings.HasPrefix y strings.HasSuffix? ¿Cómo verificar el inicio y el final de una cadena?

¡Hola a todos! Acabo de empezar a aprender Go después de Python y me encontré con un problema inesperado. En Python solía escribir: ```python if "hello world".startswith("hello"): print("Comienza con hello") ``` O: ```python if "file.txt".endswith(".txt"): print("Es un archivo de texto") ``` Pero cuando intenté hacer lo mismo en Go, no encontré métodos incorporados `startswith` o `endswith`. Busqué en la documentación del package `strings` y solo encontré `Contains`, `TrimPrefix`, `TrimSuffix`, pero nada parecido a una verificación directa del inicio o final de una cadena. Necesito escribir un parser de logs simple, donde verifico si una línea comienza con `"[ERROR]"` o termina con `"CRITICAL"`. Por ahora escribí un workaround: ```go line := "[ERROR] something went wrong" if len(line) >= 7 && line[:7] == "[ERROR]" { fmt.Println("Es un error") } ``` Pero esto se ve horrible y poco confiable. ¿Es posible que Go realmente no tenga funciones normales para verificar el inicio y final de una cadena? ¿O me estoy perdiendo de algo?