function totalSupply(uint256 _pid) public view returns (uint256) { PoolInfo storage pool = poolInfo[_pid]; return pool.lpToken.balanceOf(address(this)); }
这个函数里面的storage改成memory后,他们是什么区别呢?
storage 的数据在链上存储,比较贵。 memory 的数据在内存中存储,不占用链上空间(即不能永久存库数据),比较便宜。
因此在存储数据是差别分明显。
而仅仅读数据,他们的功能上没有什么区别,如果数据在不同的类型之间有转换,会需要消耗 一点gas 。