Pular para o conteúdo principal

victorstein.dev

37/100 Dias de Golang - Strings

Table of Contents

# Strings

Vamos ver como funciona a biblioteca padrão do golang para manipulação de strings. Esse pacote oferece funções para busca, substituição, divisão, transformação e muito mais. Obviamente que o nome do pacote é strings.

Para saber se uma string contém outra, use strings.Contains:

s := "victorstein.dev"
if strings.Contains(s, "victor") {
    fmt.Println("Achou!")
}

Fazer o replace de um substring

s := "victorstein.dev"

nova := strings.ReplaceAll(s, ".dev", ".com")
fmt.Println(nova) // victorstein.com

Dividir strings

partes := strings.Split("a,b,c", ",")
fmt.Println(partes) // [a b c]

Juntar

junta := strings.Join([]string{"Victor", "Stein", }, " ")
fmt.Println(junta) // Victor Stein

Alterar toda a string para maíusculo ou minúsculo

fmt.Println(strings.ToUpper("golang")) // GOLANG
fmt.Println(strings.ToLower("GoLang")) // golang

Remover espaços no fim e no início

fmt.Println(strings.TrimSpace("  Victor  ")) // "Victor"

O strings.Map permite aplicar uma função a cada caractere da string

import (
    "fmt"
    "strings"
)

func removerVogais(r rune) rune {
    switch r {
    case 'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U':
        return -1 // Remove o caractere
    }
    return r
}

func main() {
    s := "Victor Stein"
    fmt.Println(strings.Map(removerVogais, s)) // Vctr Stn
}

Contar quantas vezes uma substring aparece em uma string.

fmt.Println(strings.Count("victorstein.dev", "v")) // 2