O pacote strings disponibiliza funções para trabalhar com strings.
Abaixo estão algumas das funções do pacote; consulta a documentação para ver as restantes!
| Categoria | Função | Finalidade |
|---|---|---|
| Conversão de maiúsculas e minúsculas | ToLower | Converter uma string para minúsculas |
| Conversão de maiúsculas e minúsculas | ToUpper | Converter uma string para maiúsculas |
| Pesquisa | Contains | Verificar se uma string contém uma determinada substring |
| Pesquisa | Count | Contar as ocorrências não sobrepostas de uma substring |
| Pesquisa | HasPrefix | Verificar se uma string começa com uma determinada substring |
| Pesquisa | HasSuffix | Verificar se uma string termina com uma determinada substring |
| Pesquisa | Index | Devolver o índice da primeira ocorrência de uma substring, ou -1 |
| Modificação | Replace | Substituir até n ocorrências de uma substring |
| Modificação | ReplaceAll | Substituir todas as ocorrências de uma substring |
| Modificação | TrimSpace | Remover os espaços em branco no início e no fim |
| Divisão ou junção | Fields | Dividir uma string em palavras pelos espaços em branco |
| Divisão ou junção | FieldsSeq | Obter cada palavra uma a uma |
| Divisão ou junção | Join | Juntar um slice de strings com um separador |
| Divisão ou junção | Split | Dividir uma string em partes por um separador |
| Divisão ou junção | SplitSeq | Obter cada parte uma a uma |
import (
"fmt"
"strings"
)
// Case conversion
strings.ToLower("Gopher") // "gopher"
strings.ToUpper("Gopher") // "GOPHER"
// Searching
strings.Contains("Apple", "le") // true
strings.Index("Apple", "le") // 3
strings.Index("Apple", "xyz") // -1
strings.Count("test", "t") // 2
strings.HasPrefix("Gopher", "Go") // true
strings.HasSuffix("Gopher", "er") // true
// Modifying
strings.TrimSpace(" hello ") // "hello"
strings.Replace("aabbcc", "b", "x", 1) // "aaxbcc"
strings.ReplaceAll("aabbcc", "b", "x") // "aaxxcc"
// Splitting or Joining
strings.Fields(" a b\tc ") // []string{"a", "b", "c"}
strings.Split("a,b,c", ",") // []string{"a", "b", "c"}
strings.Join([]string{"a", "b", "c"}, ",") // "a,b,c"
// You do not need to worry about this range syntax yet.
// It is covered later in the range iteration concept.
for word := range strings.FieldsSeq(" a b\tc ") {
fmt.Println(word)
}
// Output:
// a
// b
// c
for part := range strings.SplitSeq("a,b,c", ",") {
fmt.Println(part)
}
// Output:
// a
// b
// c