Solidity es sintácticamente similar a JavaScript, C++ y Python. Por lo tanto, utiliza estructuras de lenguaje similares a esos idiomas. Strings en Solidity es un tipo de datos utilizado para representar/almacenar un conjunto de caracteres.
Ejemplos:
“Hola” // String válida
“Hola mundo” // String válida
“2022” // String válida
En Solidity los tipos de datos se clasifican en dos categorías: tipo de valor y tipo de referencia .
- Strings en Solidity es un tipo de referencia de tipo de datos que almacena la ubicación de los datos en lugar de almacenarlos directamente en la variable.
- Son arrays dinámicas que almacenan un conjunto de caracteres que pueden consistir en números, caracteres especiales, espacios y letras.
- Las strings en Solidity almacenan datos en codificación UTF-8.
- Al igual que JavaScript, tanto las comillas dobles (» «) como las comillas simples (‘ ‘) se pueden usar para representar strings en solidez.
“Hola mundo” // String válida
‘Hola mundo’ // String válida
‘Hola mundo” // String no válida
Ejemplo 1: a continuación se muestra el programa solidity para asignar valor a la variable de string mediante una función:
Solidity
// Solidity program to assign value // to string variable using function pragma solidity ^0.5.0; contract LearningStrings { string text; function setText () public returns (string memory) { text = "Hello World"; return text; } }
Explicación:
En el código anterior, la función setText se usa para asignar «Hello World» al texto de string.
Ejemplo 2: Las strings se pueden inicializar con un valor en solidez pasando strings a función o asignando las strings con un texto directamente. A continuación se muestra el programa solidity para asignar valor a una variable de string:
Solidity
// Solidity program to set string value // using function with parameters pragma solidity ^0.5.0; contract LearningStrings { string public text; // Assigning the text directly function setText() public { text = 'hello'; } // Assigning the text by passing the value in the function function setTextByPassing(string memory message) public { text = message; } // Function to get the text function getText() view public returns (string memory) { return text; } }
Producción:
Personajes de escape
Además, los literales de string también admiten los siguientes caracteres de escape:
S. No. | Personajes de escape | Descripción |
---|---|---|
1. | \” | Comillas dobles |
2. | \’ | Una frase |
3. | \norte | Comienza una nueva línea |
4. | \\ | barra invertida |
5. | \t | Pestaña |
6. | \r | Retorno de carro |
7. | \b | Retroceso |
8. | \xNN | escape hexadecimal |
9. | \uNNNN | Escape Unicode |
Longitud de la string
Las strings en Solidity no tienen un método de longitud para encontrar el número de caracteres en las strings, pero podemos convertir la string en bytes y obtener su longitud. En solidity, podemos convertir Strings a bytes y viceversa.
Ejemplos:
Para convertir strings a bytes:
string de texto = «Hola»;
bytes b = bytes(texto);Para convertir bytes a string:
memoria de bytes b = bytes nuevos (5);
string de texto = string (b);
A continuación se muestra el programa solidity para encontrar la longitud de la string:
Solidity
// Solidity program to get // length of a string pragma solidity ^0.5.0; contract LearningStrings { function getLength(string memory s) public pure returns (uint256) { bytes memory b = bytes(s); return b.length; } }
Producción:
Publicación traducida automáticamente
Artículo escrito por mohitrajputms123 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA