مشخصات مقاله
-
0.0
-
960
-
0
-
0
آموزش رشته ها در سالیدیتی
Solidity از String Literal با استفاده از دو گیومه (") و (') پشتیبانی میکند و رشته را بهعنوان یک نوع داده برای اعلام متغیری از نوع String ارائه میدهد.
pragma solidity ^0.5.0;
contract SolidityTest {
string data = "test";
}
در مثال بالا، "test" یکرشته واقعی و داده یک متغیر رشته است. Solidity امکان تبدیل داخلی بین بایتها به رشته و بالعکس را فراهم میکند. در Solidity میتوانیم بهراحتی String literal را به یک متغیر نوع byte32 اختصاص دهیم.
pragma solidity ^0.5.0;
contract SolidityTest {
bytes32 data = "test";
}
Escape Characters
\n
Starts a new line.
\\
Backslash
\'
Single Quote
\"
Double Quote
\b
Backspace
\f
Form Feed
\r
Carriage Return
\t
Tab
\v
Vertical Tab
\xNN
Represents Hex value and inserts appropriate bytes.
\uNNNN
Represents Unicode value and inserts UTF-8 sequence.
تبدیل بایت به رشته
بایتها را میتوان با استفاده از سازنده string() به String تبدیل کرد.
bytes memory bstr = new bytes(10);
string message = string(bstr);
کد زیر را امتحان کنید تا متوجه شوید که رشته در Solidity چگونه کار میکند.
pragma solidity ^0.5.0;
contract SolidityTest {
constructor() public{
}
function getResult() public view returns(string memory){
uint a = 1;
uint b = 2;
uint result = a + b;
return integerToString(result);
}
function integerToString(uint _i) internal pure
returns (string memory) {
if (_i == 0) {
return "0";
}
uint j = _i;
uint len;
while (j != 0) {
len++;
j /= 10;
}
bytes memory bstr = new bytes(len);
uint k = len - 1;
while (_i != 0) {
bstr[k--] = byte(uint8(48 + _i % 10));
_i /= 10;
}
return string(bstr);
}
}
خروجی :
0: string: 3