mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #4201 from wjmelements/bytes-complex-type
move bytes and string to arrays section
This commit is contained in:
commit
d004948929
@ -226,10 +226,6 @@ Dynamically-sized byte array
|
|||||||
``string``:
|
``string``:
|
||||||
Dynamically-sized UTF-8-encoded string, see :ref:`arrays`. Not a value-type!
|
Dynamically-sized UTF-8-encoded string, see :ref:`arrays`. Not a value-type!
|
||||||
|
|
||||||
As a rule of thumb, use ``bytes`` for arbitrary-length raw byte data and ``string``
|
|
||||||
for arbitrary-length string (UTF-8) data. If you can limit the length to a certain
|
|
||||||
number of bytes, always use one of ``bytes1`` to ``bytes32`` because they are much cheaper.
|
|
||||||
|
|
||||||
.. index:: address, literal;address
|
.. index:: address, literal;address
|
||||||
|
|
||||||
.. _address_literals:
|
.. _address_literals:
|
||||||
@ -602,8 +598,10 @@ shaves off one level in the type from the right).
|
|||||||
Variables of type ``bytes`` and ``string`` are special arrays. A ``bytes`` is similar to ``byte[]``,
|
Variables of type ``bytes`` and ``string`` are special arrays. A ``bytes`` is similar to ``byte[]``,
|
||||||
but it is packed tightly in calldata. ``string`` is equal to ``bytes`` but does not allow
|
but it is packed tightly in calldata. ``string`` is equal to ``bytes`` but does not allow
|
||||||
length or index access (for now).
|
length or index access (for now).
|
||||||
|
|
||||||
So ``bytes`` should always be preferred over ``byte[]`` because it is cheaper.
|
So ``bytes`` should always be preferred over ``byte[]`` because it is cheaper.
|
||||||
|
As a rule of thumb, use ``bytes`` for arbitrary-length raw byte data and ``string``
|
||||||
|
for arbitrary-length string (UTF-8) data. If you can limit the length to a certain
|
||||||
|
number of bytes, always use one of ``bytes1`` to ``bytes32`` because they are much cheaper.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
If you want to access the byte-representation of a string ``s``, use
|
If you want to access the byte-representation of a string ``s``, use
|
||||||
|
Loading…
Reference in New Issue
Block a user