Back

Lesson 9:
Functions

Introduction to Solidity functions and how to use it in your smart contracts.

Progress: 0%

Visit desktop version for better experiences.

Functions

Functions can be defined inside and outside of contracts. Functions take typed parameters as input.

To write or update a state variable you need to send a transaction.

// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; // Free function defined outside of a contract // Always has implicit internal visibility function freeFunction(uint a, uint b) pure returns (uint) { return a + b; } contract Simple { uint sum; // Function defined inside a contract // Takes two uint parameters as input function taker(uint a, uint b) public { sum = a + b; } // Function that returns multiple values // The names of return variables can be omitted function arithmetic(uint a, uint b) public pure returns (uint, uint) { return (a + b, a * b); } // Function that uses an early return // Must provide return values together with the return statement function earlyReturn(uint a, uint b) public pure returns (uint sum, uint product) { if (a == 0 || b == 0) { return (0, 0); } sum = a + b; product = a * b; } }

© 2024 Scroll Foundation | All rights reserved

Terms of UsePrivacy Policy