Fundamentos de Go

Go Strings and the strings Package

Join, search, split, trim and slice text in Go.

  • Iniciante
  • 2 min de leitura
  • 1 exemplo executável
O que você vai aprender
  • Building strings
  • Contains, Index, Split
  • Slicing a string
message[0:5]
H0
e1
l2
l3
o4
,5
The end index 5 is not included.

Read-only text with many helpers

A Go string is a read-only sequence of bytes, usually UTF-8 text. You cannot change a string in place, but you can build new ones, and the strings package has functions for most everyday jobs.

+= builds a new string. len counts bytes. Contains and Index search the text, Split cuts it at a separator and returns a slice, and message[0:5] takes the bytes from position 0 up to, but not including, 5.

Pontos-chave

  1. A string cannot be changed in place.
  2. len counts bytes.
  3. message[0:5] takes bytes 0 to 4.

Exemplo executável de Go

Go
Executar código →
main.go
package main

import (
	"fmt"
	"strings"
)

func main() {
	message := "Hello, Go"
	message += "!"

	fmt.Println(message)
	fmt.Println(len(message), strings.ToUpper(message))
	fmt.Println(strings.Contains(message, "Go"), strings.Index(message, "Go"))
	fmt.Println(strings.Split("a,b,c", ","))
	fmt.Println(strings.Repeat("=", 5), strings.TrimSpace("  padded  "))
	fmt.Println(message[0:5], string(message[7]))
}
Gerar um botão Run para este exemplo Resultado da execução
Hello, Go!
10 HELLO, GO!
true 7
[a b c]
===== padded
Hello G

Pratique

Abra o exemplo no compilador online, mude um valor ou adicione uma linha e tente prever a saída antes de executar. Depois quebre o código de propósito e leia a mensagem do compilador.

Terminou esta lição?

Marque como aprendida para acompanhar seu progresso.

Próxima: Reverse a String →

Pratique com um desafio

Use o conteúdo desta lição para resolver um problema real. Cada desafio roda no navegador, com testes instantâneos e uma revisão por IA.

Todos os desafios