// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;

contract Mapping {
    // Mappings are not iterable.
    mapping(address => uint) public balances;
    mapping(address => mapping(address => bool)) public isFriend;

    function examples() external {
        balances[msg.sender] = 123; // set
        uint bal1 = balances[msg.sender]; // get
        uint bal2 = balances[address(1)]; //  not set --> will return the default value 

        balances[msg.sender] += 1; // update
        delete balances[msg.sender]; // delete resets the value to the default value

        isFriend[msg.sender][address(this)] = true;
    }
}