Solidity
將不同的數據類型傳遞給 uint 參數
我發現,即使 Solidity 方法只採用 uint 數據類型,我也可以傳遞不同的數據類型(作為參數),****為什麼會這樣呢?
例子:
function test (uint _param) public { //do smth } test(address(ADDRESS_VAR))
calldata 中沒有數據類型。它們都被編碼為十六進制。因此,如果您向合約傳遞這樣的地址:
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
,EVM 會認為,“好的,沒有問題。它是一個數字”。因為您可以將其轉換為 uint:697323163401596485410334513241460920685086001293
。