🧩 Exercícios: Strings e Runas (Unicode/UTF-8) e Pacote strings
Spec Sistemas Com Go • Trilha Progressiva em 4 Níveis
🧭 Navegação Pedagógica
-
📖 Teoria do Capítulo 💻 Exemplos 📊 Slides 🧠 Quiz
🎯 Nível 1: Fundamentos
Problema 07.1 — Diferenciação entre Bytes e Runas (Unicode code points)
Contexto: Diferenciação entre Bytes e Runas (Unicode code points) no contexto de Strings e Runas (Unicode/UTF-8) e Pacote strings.
Requisitos de Execução:
- Iterar sobre string contendo caracteres acentuados utilizando
for _, runa := range str.
Resultado Esperado
Caracteres UTF-8 decodificados corretamente como runas int32.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_07_1_SeuNome - Envie na tarefa:
Atividade Cap 07 - Strings e Runas (Unicode/UTF-8) e Pacote strings
🔑 Gabarito de Código & Solução Comentada
package main
import "fmt"
func main() {
texto := "Go é incrível! 🚀"
fmt.Printf("Bytes: %d | Runas: %d\n", len(texto), len([]rune(texto)))
for _, r := range texto {
fmt.Printf("%c ", r)
}
fmt.Println()
}
🔍 Nível 2: Prática
Problema 07.2 — Manipulações com o Pacote strings (Split, Join, Contains, ReplaceAll)
Contexto: Manipulações com o Pacote strings (Split, Join, Contains, ReplaceAll) no contexto de Strings e Runas (Unicode/UTF-8) e Pacote strings.
Requisitos de Execução:
- Dividir texto CSV, substituir espaços e juntar com novo delimitador.
Resultado Esperado
Texto processado com funções utilitárias do pacote strings.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_07_2_SeuNome - Envie na tarefa:
Atividade Cap 07 - Strings e Runas (Unicode/UTF-8) e Pacote strings
🔑 Gabarito de Código & Solução Comentada
package main
import (
"fmt"
"strings"
)
func main() {
raw := "item1, item2, item3"
partes := strings.Split(raw, ",")
for i := range partes {
partes[i] = strings.TrimSpace(partes[i])
}
formatado := strings.Join(partes, " | ")
fmt.Println("Formatado:", formatado)
}
⚡ Nível 3: Integração
Problema 07.3 — Construção de Strings de Alta Performance com strings.Builder
Contexto: Construção de Strings de Alta Performance com strings.Builder no contexto de Strings e Runas (Unicode/UTF-8) e Pacote strings.
Requisitos de Execução:
- Concatenar milhares de fragmentos de texto utilizando
strings.Buildercom zero realocações de string.
Resultado Esperado
Buffer de texto montado com eficiência de memória.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_07_3_SeuNome - Envie na tarefa:
Atividade Cap 07 - Strings e Runas (Unicode/UTF-8) e Pacote strings
🔑 Gabarito de Código & Solução Comentada
package main
import (
"fmt"
"strings"
)
func main() {
var sb strings.Builder
for i := 1; i <= 5; i++ {
fmt.Fprintf(&sb, "Linha #%d; ", i)
}
fmt.Println(sb.String())
}
🏆 Nível 4: Desafio Corporativo
Problema 07.4 — Sanitização e Conversão Segura de Strings UTF-8 com unicode/utf8
Contexto: Sanitização e Conversão Segura de Strings UTF-8 com unicode/utf8 no contexto de Strings e Runas (Unicode/UTF-8) e Pacote strings.
Requisitos de Execução:
- Validar se uma sequência de bytes é UTF-8 válido utilizando
utf8.Valid(bytes).
Resultado Esperado
Validação estrita de codificação UTF-8 concluída.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_07_4_SeuNome - Envie na tarefa:
Atividade Cap 07 - Strings e Runas (Unicode/UTF-8) e Pacote strings
🔑 Gabarito de Código & Solução Comentada
package main
import (
"fmt"
"unicode/utf8"
)
func main() {
valido := []byte("Texto Valido UTF-8")
fmt.Printf("Eh UTF-8 valido: %t\n", utf8.Valid(valido))
}
| ⬅️ Voltar ao Índice de Exercícios | 📚 Sumário de Tópicos |