Go não tem funções strings.HasPrefix e strings.HasSuffix? Como verificar o início e o fim de uma string?
Olá a todos! Acabei de começar a estudar Go depois do Python e me deparei com um problema inesperado. Em Python, eu costumava escrever:
```python
if "hello world".startswith("hello"):
print("Começa com hello")
```
Ou:
```python
if "file.txt".endswith(".txt"):
print("É um arquivo de texto")
```
Mas quando tentei fazer o mesmo em Go, não encontrei métodos embutidos `startswith` ou `endswith`. Olhei na documentação do pacote `strings` e encontrei apenas `Contains`, `TrimPrefix`, `TrimSuffix`, mas nada parecido com uma verificação direta de início ou fim de string.
Preciso escrever um parser de logs simples, onde verifico se a linha começa com `"[ERROR]"` ou termina com `"CRITICAL"`. Por enquanto, escrevi um workaround:
```go
line := "[ERROR] something went wrong"
if len(line) >= 7 && line[:7] == "[ERROR]" {
fmt.Println("Isso é um erro")
}
```
Mas isso parece horrível e não confiável. Será que Go realmente não tem funções adequadas para verificar início e fim de string? Ou estou perdendo algo?