Структуры и интерфейсы

Go Structs

Group related values into your own type with named fields.

  • Средний
  • Чтение: 3 мин
  • Примеров для запуска: 1
Что вы узнаете
  • Defining a struct
  • Fields and %+v
  • Structs are copied
User
Name"Ada"
Age37
Activetrue

Your 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.

Главное

  1. Fields are read and changed with a dot.
  2. %+v prints the field names too.
  3. Assigning a struct copies it.

Пример на Go, который можно запустить

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
7

Практика

Откройте пример в онлайн-компиляторе, измените значение или добавьте строку и попробуйте предсказать вывод до запуска. Затем намеренно сломайте код и прочитайте сообщение компилятора.

Закончили этот урок?

Отметьте его как изученный, чтобы следить за прогрессом.

Попрактикуйтесь на задаче

Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.

Все задачи