Structs e interfaces
Go Structs
Group related values into your own type with named fields.
O que você vai aprender
- Defining a struct
- Fields and %+v
- Structs are copied
User
Name"Ada"Age37ActivetrueYour own type with named fields
A struct is a type you define by naming its fields. It keeps related data together, such as the name, age and status of a user.
Fields are read and changed with a dot. %v prints the values and %+v adds the field names. Assigning a struct copies it, so changing guest does not change user. A struct can also be declared in place without a name.
Pontos-chave
- Fields are read and changed with a dot.
- %+v prints the field names too.
- Assigning a struct copies it.
Exemplo executável de Go
main.go
package main
import "fmt"
type User struct {
Name string
Age int
Active bool
}
func main() {
user := User{Name: "Ada", Age: 36, Active: true}
user.Age++
fmt.Println(user.Name, user.Age)
fmt.Printf("%v\n%+v\n", user, user)
guest := user // structs are copied on assignment
guest.Name = "Guest"
fmt.Println(user.Name, guest.Name)
point := struct{ X, Y int }{3, 4}
fmt.Println(point.X + point.Y)
}
Ada 37
{Ada 37 true}
{Name:Ada Age:37 Active:true}
Ada Guest
7Pratique
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.
Seu progresso está salvo neste navegador Entre para mantê-lo em todos os dispositivos.
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