Publiczne gettery stanu
Część sekcji Podstawy ścieżki Solidity w Coddy. Lekcja 28 z 53.
Dodanie public do zmiennej stanu sprawia, że kompilator generuje funkcję getter, którą można wywołać spoza kontraktu. Nie generuje funkcji setter. Wewnątrz kontraktu odczytuj zmienną bezpośrednio po nazwie. Widoczność publiczna kontroluje interfejs, a nie to, czy dane przechowywane w blockchainie są tajne.
Zadeklaruj to w zakresie kontraktu:
uint256 public score;Użyj tego w podanej funkcji main:
score = 32;
console.log(score);Deklaracja uint256 public score tworzy getter o nazwie score dla zewnętrznych wywołujących. Wewnątrz main sama nazwa odczytuje zmienną stanu. Jej zapis nadal wymaga kodu kontraktu; public nie pozwala wywołującym bezpośrednio przypisywać wartości do pamięci trwałej.
Publiczna zmienna stanu otrzymuje zewnętrzny getter, a nie automatyczny setter.
Wyzwanie
ŁatwyZadeklaruj uint256 public total. Ustaw wartość total na podaną kwotę wewnątrz main i ją wypisz.
Testy przekazują argumenty do main w tej kolejności: uint256 amount. Każdy test rozpoczyna się od świeżego stanu kontraktu.
Użyj console.log dla wymaganego wyjścia. Wypisz tylko wymagane wartości, po jednej w wierszu, bez dodatkowych etykiet, chyba że zadanie je określa.
Spróbuj swoich sił
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 amount) external {
// 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