Menu
Coddy logo textTech

Wskaźniki do struktur

Część sekcji Podstawy ścieżki GO w Coddy. Lekcja 97 z 109.

Podczas pracy ze strukturami możesz tworzyć do nich wskaźniki, tak jak w przypadku innych typów. Jest to przydatne do wydajnego przekazywania dużych struktur.

Zdefiniuj strukturę Person i utwórz do niej wskaźnik:

type Person struct {
    name string
    age  int
}

func main() {
    person := Person{name: "Alice", age: 30}
    
    // Utwórz wskaźnik do struktury
    personPtr := &person
    
    // Uzyskaj dostęp do pól przez wskaźnik
    fmt.Println(personPtr.name)
    fmt.Println(personPtr.age)
}

Wynik pokazuje, że możemy uzyskać dostęp do pól za pośrednictwem wskaźnika:

Alice
30

Możesz także modyfikować pola za pomocą wskaźnika:

personPtr.age = 31
fmt.Println(person.age)  // Wypisuje: 31
challenge icon

Wyzwanie

Początkujący

W tym wyzwaniu poćwiczysz pracę ze wskaźnikami do struktur w Go. Masz strukturę Person z polami name i age. Twoim zadaniem jest zaktualizowanie informacji o osobie za pomocą wskaźnika do struktury.

Kod już tworzy strukturę Person i wskaźnik do niej. Musisz zmodyfikować informacje o osobie za pomocą wskaźnika.

Spróbuj swoich sił

package main

import "fmt"

// Struktura Person z polami name i age
type Person struct {
	name string
	age  int
}

func main() {
	// Utwórz strukturę Person
	person := Person{
		name: "John",
		age:  25,
	}

	// Utwórz wskaźnik do struktury Person
	personPtr := &person

	// Wypisz pierwotne dane osoby
	fmt.Println("Original person:")
	fmt.Printf("Name: %s, Age: %d\n", person.name, person.age)

	// TODO: Użyj wskaźnika, aby zmienić imię osoby na "Jane", a wiek na 30
	// Wskazówka: Dostęp do pól struktury przez wskaźnik można uzyskać za pomocą notacji kropkowej
	

	// Wypisz zaktualizowane dane osoby
	fmt.Println("Updated person:")
	fmt.Printf("Name: %s, Age: %d\n", person.name, person.age)
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Go online