Back

Lesson 6:
Arrays

Introduction to Solidity Arrays

Visit desktop version for better experiences.

Arrays

Arrays can have a compile-time fixed size, or they can have a dynamic size.

The type of an array of fixed size k and element type T is written as T[k], and an array of dynamic size as T[].

// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; contract ArrayExample { // An array of fixed size 3 and element type uint uint[3] public fixedArray = [1, 2, 3]; // An array of dynamic size and element type uint uint[] public dynamicArray;

It is possible to mark state variable arrays public and have Solidity create a getter(which you will learn later in the challenges). The numeric index becomes a required parameter for the getter.

More array examples:

// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; contract Array { // Several ways to initialize an array uint256[] public arr; uint256[] public arr2 = [1, 2, 3]; // Fixed sized array, all elements initialize to 0 uint256[10] public myFixedSizeArr; function get(uint256 i) public view returns (uint256) { return arr[i]; } // Solidity can return the entire array. // But this function should be avoided for // arrays that can grow indefinitely in length. function getArr() public view returns (uint256[] memory) { return arr; } function push(uint256 i) public { // Append to array // This will increase the array length by 1. arr.push(i); } function pop() public { // Remove last element from array // This will decrease the array length by 1 arr.pop(); } function getLength() public view returns (uint256) { return arr.length; } function remove(uint256 index) public { // Delete does not change the array length. // It resets the value at index to it's default value, // in this case 0 delete arr[index]; } function examples() external pure { // create array in memory, only fixed size can be created uint256[] memory a = new uint256[](5); } }

© 2024 Scroll Foundation | All rights reserved

Terms of UsePrivacy Policy