> For the complete documentation index, see [llms.txt](https://calnix.gitbook.io/eth-dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://calnix.gitbook.io/eth-dev/gas-opt/calling-a-view-function.md).

# Calling a view function

A `view` function does not use `gas` when called, but if we decide to call a view function inside of another function which is a transaction, it then uses `gas`.

{% hint style="info" %}
Even if you make a function a `view` function, you still have to pay full gas costs if it's being called inside a transaction. Such `view` functions are only free if called locally, not inside a transaction.
{% endhint %}

```solidity
//SPDX-License-Identifier:MIT

pragma solidity ^0.8.3;
contract GasSaver {
    uint256[] private numbers = [2,3,5,67,34];

    function getNumberAt( uint256 _index ) public view returns (uint256){
        return numbers[_index];
    }
    //Gas used when getNumber was called: 44778

    //Gas used without calling getNumber() 44450
    function sumAndMultiply() public {
       uint256[] memory _numbers = numbers;
       uint256 arrlength = _numbers.length;
       for(uint256 i=0; i < arrlength; ++i){
          numbers[i] = _numbers[i] * i;
       }
       //getNumberAt(2);
    }
}
```

* calling `getNumberAt` uses no gas

<br>
