Structs are custom data types that can group several variables. They represent a record of “something”. Suppose you want to keep a list of “To Do’s” and need to know if they are completed. One would keep a simple list and create a Struct:
- item “To Do”
- was it completed?
See the contract below for an example of how to create a “To Do” Struct
Contract Todos {
//create a custom struct called Todo
Struct Todo {
String text;
Bool completed;
}
//below we created a data type of Todo which is the struct to create an array
Todo[] public todos;
Function create (string memory _text) public {
//Push a new todo struct into the array
Todos.push(Todo(_text, false));
Function get(uint _index) public view returns (string memory, bool) {
Todo storage todo = todos[_index];
//this is how you get information out of a struct state variable
Return (todo.text, todo.completed);
Try it in Remix
For more information read the docs.
This code is for learning and entertainment purposes only. The code has not been audited and use at your own risk. Remember smart contracts are experimental and could contain bugs.
Click here for more information about how to use the Ethereum test network and how to obtain test ETH.
1 thought on “Struct in Solidity smart contracts”