Solidez – Cuerdas

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:

Solidity program to set string using function

establecerTexto()

Solidity program to set string using function with parameter

setTextByPassing()

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:

Solidity program to find length of string

 

Publicación traducida automáticamente

Artículo escrito por mohitrajputms123 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *