O pacote strings oferece funções para trabalhar com strings.
Abaixo estão algumas das funções do pacote; consulte a documentação para ver as demais!
| Papel | Função | Propósito |
|---|---|---|
| Conversão de maiúsculas e minúsculas | ToLower | Converte uma string para minúsculas |
| Conversão de maiúsculas e minúsculas | ToUpper | Converte uma string para maiúsculas |
| Busca | Contains | Verifica se uma string contém uma substring específica |
| Busca | Count | Conta as ocorrências não sobrepostas de uma substring |
| Busca | HasPrefix | Verifica se uma string começa com uma substring específica |
| Busca | HasSuffix | Verifica se uma string termina com uma substring específica |
| Busca | Index | Retorna o índice da primeira ocorrência de uma substring, ou -1 |
| Modificação | Replace | Substitui até n ocorrências de uma substring |
| Modificação | ReplaceAll | Substitui todas as ocorrências de uma substring |
| Modificação | TrimSpace | Remove espaços em branco no início e no fim |
| Divisão ou junção | Fields | Divide uma string em palavras por espaços em branco |
| Divisão ou junção | FieldsSeq | Obtém cada palavra, uma de cada vez |
| Divisão ou junção | Join | Junta uma slice de strings com um separador |
| Divisão ou junção | Split | Divide uma string em partes por um separador |
| Divisão ou junção | SplitSeq | Obtém cada parte, uma de cada vez |
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