Menu
Coddy logo textTech

Struktury

Część sekcji Podstawy ścieżki Solidity w Coddy. Lekcja 43 z 53.

Struktura grupuje powiązane pola pod nazwą niestandardowego typu. Każde pole ma typ i nazwę, a pola mogą mieć różne typy. Zadeklaruj typ w zakresie kontraktu, utwórz wartość, a następnie uzyskaj dostęp do jej pól za pomocą kropki.

Zadeklaruj to w zakresie kontraktu:

struct Parcel { uint256 weight; bool ready; }

Użyj jej w podanej funkcji main:

Parcel memory item = Parcel(11, true);
console.log(item.weight);
console.log(item.ready);

Typ Parcel ma pola weight i ready. Konstruktor pozycyjny przypisuje wartości w kolejności deklaracji. Ten element istnieje w pamięci podczas bieżącego wywołania; samo zadeklarowanie typu struktury nie tworzy zapisanych rekordów.

Użyj kropki, a następnie nazwy pola, aby odczytać lub zmienić pole struktury.

challenge icon

Wyzwanie

Łatwy

Zadeklaruj strukturę o nazwie Badge z polami uint256 level i bool active, w tej kolejności. Utwórz obiekt Badge w pamięci na podstawie podanych danych wejściowych i wypisz oba pola.

Testy przekazują argumenty do main w tej kolejności: uint256 level, bool active. Każdy test rozpoczyna się od świeżego stanu kontraktu.

Użyj console.log, aby uzyskać wymagany wynik. Wypisz tylko wymagane wartości, po jednej w każdym wierszu, bez dodatkowych etykiet, chyba że zadanie ich wymaga.

Spróbuj swoich sił

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 level, bool active) external view {
        // Wpisz tutaj swoje rozwiązanie.
    }
}
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: Edytor online Solidity