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.
Wyzwanie
ŁatwyZadeklaruj 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.
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
2Zmienne i typy
Liczby całkowite bez znakuWejście i wyjścieLiczby całkowite ze znakiemWartości logiczneŁańcuchy znaków w pamięciKarta profilu5Funkcje
Parametry funkcjiZwracanie wartościFunkcje czysteWywołania pomocniczeWielokrotnego użytku obliczeniaPoćwicz samodzielnie: Edytor online Solidity