Struct
Termasuk bagian Dasar-Dasar dalam perjalanan Solidity di Coddy. Pelajaran 43 dari 53.
Sebuah struct mengelompokkan field yang saling berkaitan dengan nama tipe khusus. Setiap field memiliki tipe dan nama, dan field dapat memiliki tipe yang berbeda. Deklarasikan tipe ini di lingkup kontrak, buat sebuah nilai, lalu akses field-nya dengan titik.
Deklarasikan ini di lingkup kontrak:
struct Parcel { uint256 weight; bool ready; }Gunakan ini di dalam fungsi main yang disediakan:
Parcel memory item = Parcel(11, true);
console.log(item.weight);
console.log(item.ready);Tipe Parcel memiliki field weight dan ready. Konstruktor posisional memberikan nilai sesuai urutan deklarasi. Item ini berada di memori selama pemanggilan saat ini. Mendeklarasikan tipe struct saja tidak membuat record tersimpan.
Gunakan titik diikuti nama field untuk membaca atau mengubah field struct.
Tantangan
MudahDeklarasikan struct bernama Badge dengan uint256 level dan bool active, dalam urutan tersebut. Buat Badge di memory dari input yang diberikan, lalu cetak kedua field.
Pengujian memberikan argumen kepada main dalam urutan ini: uint256 level, bool active. Setiap pengujian dimulai dengan state kontrak yang baru.
Gunakan console.log untuk output yang diminta. Cetak hanya nilai yang diminta, satu per baris, tanpa label tambahan kecuali jika tugas memintanya.
Coba sendiri
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 level, bool active) external view {
// Tulis solusimu di sini.
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
2Variabel dan Tipe Data
Bilangan Bulat Tanpa Tandainput dan outputBilangan Bulat BertandaNilai Booleanstring dalam MemoriKartu Profil5Fungsi
Parameter FungsiMengembalikan NilaiFungsi MurniPemanggilan Fungsi PembantuPerhitungan yang Dapat Digunakan KembaliLatihan sendiri: Playground Solidity