Go-Ethereum
映射中的預設字元串值用於什麼?
例如,我有這樣的契約:
contract example { mapping (uint => string) map; function example () { map[123] = "123"; } function return1 () returns (string) { return map[123]; } function return2 () returns (string) { return map[1]; } }
當我打電話時
return1
,它顯然會返回'123'
,但是會發生什麼return2
?
按原樣使用您的程式碼,在呼叫
return1()
and時return2()
,您將必鬚髮送交易,並且您將返回交易雜湊。如果你return1()
從另一個合約呼叫你的,你的返回值將是"123"
. 如果從另一個合約呼叫return2()
,您的返回值將是一個空字元串""
。請參閱以下螢幕:如果我將關鍵字添加
constant
到return1()
andreturn2()
聲明,return2()
將返回空字元串""
。請參閱以下螢幕:
你應該得到一個空字元串,就好像你已經完成了
function return2 () returns (string) { string my_string; return my_string; }