¿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?