Solidity
基本映射問題
非常基本的問題,但希望能幫助您理解這一點。我不太了解下面映射中 += 運算符背後的邏輯。請看下面的程式碼
function getBalance() public view returns(uint) { return address(this).balance; } function sendMoney() public payable { balanceReceived[msg.sender] += msg.value; }
您如何在邏輯上添加和分配並擁有 - balanceReceived
$$ msg.sender $$=餘額已收到$$ msg.sender $$+ 味精值? 我確定我看錯了,但餘額已收到
$$ msg.sender $$是一個地址,那麼如何將它添加到 msg.value 的 uint 值中?
沒有看到映射定義我猜它就像
mapping(address => uint) balanceReceived;
這意味著
balanceReceived[msg.sender]
不是地址,而是地址映射到的內容,這是一個 uint
balanceReceived
應該是類型的mapping(address => uint)
,msg.sender
是類型的address
,msg.value
是類型的uint
。uint 值也是如此
balanceReceived[msg.sender]
,但不是地址。那有意義嗎?