Solidity

將不同的數據類型傳遞給 uint 參數

  • June 2, 2022

我發現,即使 Solidity 方法只採用 uint 數據類型,我也可以傳遞不同的數據類型(作為參數),****為什麼會這樣呢?

例子:

function test (uint _param) public {
  //do smth
}
test(address(ADDRESS_VAR))

calldata 中沒有數據類型。它們都被編碼為十六進制。因此,如果您向合約傳遞這樣的地址:0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D,EVM 會認為,“好的,沒有問題。它是一個數字”。因為您可以將其轉換為 uint: 697323163401596485410334513241460920685086001293

引用自:https://ethereum.stackexchange.com/questions/129408