Solidity語言學習筆記————16、對映Mapping
solidity裡的對映可以理解為python裡的字典,建立鍵-值的對應關係,可以通過鍵來查詢值,鍵必須是唯一的,但值可以重複。
定義方式為:mapping(鍵型別=>值型別),例如mapping(address=>uint) public balances,這個對映的名字是balances,許可權型別為public,鍵的型別是地址address,值的型別是整型uint,在solidity中這個對映的作用一般是通過地址查詢餘額。鍵的型別允許除對映外的所有型別。
例如:對映balances中包括三個鍵值對(user1:100,user2:145,user3:195),輸入user2即可得到145
下面來看一個例子:
contract MappingExample{
mapping(address => uint) public balances;
function update(uint amount) returns (address addr){
balances[msg.sender] = amount;
return msg.sender;
}
}
說明:定義balances為一個對映,msg.sender是合約建立者的地址,函式update有一個整型引數amount(數量),
balances[msg.sender]=amount的意思是將引數amount的值和msg.sender這個地址對應起來。
對映型別,僅能用來定義狀態變數,或者是在內部函式中作為storage
型別的引用。引用是指你可以宣告一個,如var storage mappVal
的用於儲存狀態變數的引用的物件,但你沒辦法使用非狀態變數來初始化這個引用。(沒太看懂,暫定)
由於資料不全,很多具體的對映用法暫時不清楚,找到之後我再補充!
相關文章
- Solidity語言學習筆記————17、原始檔對映Solid筆記
- Solidity語言學習筆記————1、初識Solidity語言Solid筆記
- Solidity語言學習筆記————4、常量Solid筆記
- Solidity語言學習筆記————36、 庫Solid筆記
- Solidity語言學習筆記————38、Solidity彙編Solid筆記
- Solidity語言學習筆記————12、陣列Solid筆記陣列
- Solidity語言學習筆記————33、事件(Events)Solid筆記事件
- Solidity語言學習筆記————37、Using forSolid筆記
- Solidity語言學習筆記————34、繼承Solid筆記繼承
- Solidity語言學習筆記————42、提示和技巧Solid筆記
- Solidity語言學習筆記————43、安全考量Solid筆記
- Solidity語言學習筆記————32、建立合約Solid筆記
- Solidity語言學習筆記————28、純函式Solid筆記函式
- Solidity語言學習筆記————26、回退函式Solid筆記函式
- Solidity語言學習筆記————41、記憶體佈局Solid筆記記憶體
- Solidity語言學習筆記————10、布林型、整型Solid筆記
- Solidity語言學習筆記————3、Remix的基本使用Solid筆記REM
- Solidity語言學習筆記————15、結構體StructSolid筆記結構體Struct
- Solidity語言學習筆記————18、字串和函式Solid筆記字串函式
- Solidity語言學習筆記————14、左值運算子Solid筆記
- Solidity語言學習筆記————9、左值運算子Solid筆記
- Solidity語言學習筆記————5、全域性變數Solid筆記變數
- Solidity語言學習筆記————2、使用編譯器Solid筆記編譯
- Solidity語言學習筆記————39、獨立彙編Solid筆記
- Solidity語言學習筆記————25、作用域和宣告Solid筆記
- Solidity語言學習筆記————27、檢視函式Solid筆記函式
- Solidity語言學習筆記————30、函式過載Solid筆記函式
- Solidity語言學習筆記————35、抽象合約和介面Solid筆記抽象
- Solidity語言學習筆記————26、Assert, Require, Revert 和 ExceptionsSolid筆記UIException
- Solidity語言學習筆記————22、可見性和GettersSolid筆記
- Solidity語言學習筆記————20、函式修飾符Solid筆記函式
- Solidity語言學習筆記————13、固定大小位元組陣列Solid筆記陣列
- Solidity語言學習筆記————14、動態位元組陣列Solid筆記陣列
- Solidity語言學習筆記————8、運算子優先順序Solid筆記
- Solidity語言學習筆記————23、函式呼叫和賦值Solid筆記函式賦值
- Solidity語言學習筆記————24、輸入輸出引數Solid筆記
- Mybatis學習筆記(5)-高階對映之多對多對映MyBatis筆記
- Solidity語言學習筆記————44、合約的後設資料Solid筆記