Menu
Coddy logo textTech

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.

challenge icon

Görev

Kolay

Sı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.
    }
}
quiz iconKendini test et

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

Kendi başına pratik yap: Solidity playground