Menu
Coddy logo textTech

Struct

Fa parte della sezione Fondamenti del percorso Solidity di Coddy. Lezione 43 di 53.

Una struct raggruppa campi correlati sotto il nome di un tipo personalizzato. Ogni campo ha un tipo e un nome, e i campi possono avere tipi diversi. Dichiara il tipo a livello del contratto, crea un valore, quindi accedi ai suoi campi con un punto.

Dichiara questo a livello del contratto:

struct Parcel { uint256 weight; bool ready; }

Usalo all'interno della funzione main fornita:

Parcel memory item = Parcel(11, true);
console.log(item.weight);
console.log(item.ready);

Il tipo Parcel ha i campi weight e ready. Il costruttore posizionale fornisce i valori nell’ordine in cui sono dichiarati. Questo elemento vive in memoria per la chiamata corrente; dichiarare un tipo struct da solo non crea record memorizzati.

Usa un punto seguito dal nome del campo per leggere o modificare un campo della struct.

challenge icon

Sfida

Facile

Dichiara una struct denominata Badge con uint256 level e bool active, in quest’ordine. Crea una Badge in memoria a partire dagli input forniti e stampa entrambi i campi.

I test passano gli argomenti a main in quest’ordine: uint256 level, bool active. Ogni test inizia con uno stato del contratto nuovo.

Usa console.log per l’output richiesto. Stampa solo i valori richiesti, uno per riga, senza etichette aggiuntive, a meno che l’attività non le specifichi.

Provalo tu

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 level, bool active) external view {
        // Scrivi qui la tua soluzione.
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Solidity