Herkese Açık Durum Getiricileri
Coddy'nin Solidity Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 28 / 53.
Bir durum değişkenine public eklemek, derleyicinin sözleşme dışından çağrılabilen bir getter oluşturmasını sağlar. Bir setter oluşturmaz. Sözleşme içinde değişkeni doğrudan adıyla okuyun. Public görünürlüğü, blockchain depolamasının gizli olup olmadığını değil, arayüzü kontrol eder.
Bunu sözleşme kapsamında tanımlayın:
uint256 public score;Bunu sağlanan main işlevinin içinde kullanın:
score = 32;
console.log(score);uint256 public score bildirimi, harici çağıranlar için score adlı bir getter oluşturur. main içinde çıplak ad, durum değişkenini okur. Bunu yazmak yine de sözleşme kodu gerektirir; public, çağıranların depolamaya doğrudan atama yapmasına izin vermez.
Bir public durum değişkeni, otomatik bir setter değil, harici bir getter alır.
Görev
Kolayuint256 public total tanımlayın. main içinde total değerini sağlanan amount değerine ayarlayın ve yazdırın.
Testler, main işlevine bağımsız değişkenleri şu sırayla iletir: uint256 amount. Her test, sözleşme durumunu sıfırdan başlatır.
İstenen çıktı için console.log kullanın. Görevin belirttiği durumlar dışında yalnızca istenen değerleri, her satıra bir tane gelecek şekilde ve ek etiket olmadan yazdırın.
Kendin dene
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 amount) external {
// Çözümünüzü buraya yazın.
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temel Bilgiler bölümündeki tüm dersler
2Değişkenler ve Türler
İşaretsiz TamsayılarGirdiler ve Çıktılarİşaretli TamsayılarBoolean DeğerleriBellekte DizelerProfil Kartı5Fonksiyonlar
Fonksiyon ParametreleriDeğer DöndürmeSaf FonksiyonlarYardımcı ÇağrılarıYeniden Kullanılabilir Hesaplamalar6Sözleşme Durumu
Durum DeğişkenleriDurumu Okuma ve YazmaHerkese Açık Durum GetiricileriSabitlerPaylaşılan SayaçKendi başına pratik yap: Solidity playground