Yapılar
Coddy'nin Solidity Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 43 / 53.
Bir struct, ilişkili alanları özel bir tür adı altında gruplandırır. Her alanın bir türü ve adı vardır ve alanlar farklı türlere sahip olabilir. Türü sözleşme kapsamında tanımlayın, bir değer oluşturun, ardından alanlarına nokta ile erişin.
Bunu sözleşme kapsamında tanımlayın:
struct Parcel { uint256 weight; bool ready; }Sağlanan main işlevinin içinde kullanın:
Parcel memory item = Parcel(11, true);
console.log(item.weight);
console.log(item.ready);Parcel türünün weight ve ready alanları vardır. Konumsal kurucu, değerleri bildirim sırasına göre sağlar. Bu öğe mevcut çağrı için bellekte yaşar; yalnızca bir struct türü bildirmek, depolanmış kayıtlar oluşturmaz.
Bir struct alanını okumak veya değiştirmek için noktadan sonra alan adını kullanın.
Görev
KolaySırasıyla uint256 level ve bool active alanlarına sahip, Badge adında bir struct tanımlayın. Sağlanan girdilerden bellekte bir Badge oluşturun ve her iki alanı da yazdırın.
Testler, main işlevine bağımsız değişkenleri şu sırayla geçirir: uint256 level, bool active. Her test, sözleşme durumuyla başlar.
İstenen çıktı için console.log kullanın. İstenen değerleri, görev bunları belirtmedikçe ek etiket olmadan, satır başına bir değer olacak şekilde yazdırın.
Kendin dene
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 level, bool active) external view {
// Çö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 HesaplamalarKendi başına pratik yap: Solidity playground