Menu
Coddy logo textTech

Указатели на структуры

Часть раздела Основы путешествия по GO на Coddy. Урок 97 из 109.

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

Определите структуру Person и создайте указатель на нее:

type Person struct {
    name string
    age  int
}

func main() {
    person := Person{name: "Alice", age: 30}
    
    // Создайте указатель на структуру
    personPtr := &person
    
    // Доступ к полям через указатель
    fmt.Println(personPtr.name)
    fmt.Println(personPtr.age)
}

Вывод показывает, что мы можем обращаться к полям через указатель:

Alice
30

Вы также можете изменять поля через указатель:

personPtr.age = 31
fmt.Println(person.age)  // Выводит: 31
challenge icon

Задание

Новичок

В этом испытании вы попрактикуетесь в работе с указателями на структуры в Go. У вас есть структура Person с полями name и age. Ваша задача — обновить информацию о человеке, используя указатель на структуру.

Код уже создает структуру Person и указатель на нее. Вам нужно изменить информацию о человеке через указатель.

Попробуйте сами

package main

import "fmt"

// Структура Person с полями name и age
type Person struct {
	name string
	age  int
}

func main() {
	// Создание структуры Person
	person := Person{
		name: "John",
		age:  25,
	}

	// Создание указателя на структуру Person
	personPtr := &person

	// Вывод исходной информации о человеке
	fmt.Println("Original person:")
	fmt.Printf("Name: %s, Age: %d\n", person.name, person.age)

	// TODO: Используйте указатель, чтобы изменить имя человека на "Jane" и возраст на 30
	// Подсказка: Вы можете получить доступ к полям структуры через указатель, используя точечную нотацию
	

	// Вывод обновленной информации о человеке
	fmt.Println("Updated person:")
	fmt.Printf("Name: %s, Age: %d\n", person.name, person.age)
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Go