Obtenha a linguagem Dart para Android e iOS ao mesmo tempo (4): tipo de string

Na linguagem Dart, String é usada para representar o tipo de string e aspas simples ou duplas podem ser usadas para representar o valor da string. Por exemplo, os códigos a seguir para declarar variáveis ​​de tipo String estão corretos.

String s1 = 'hello world';
String s2 = "I love you.";
var s3 = "Who are you?";

A vantagem de usar aspas simples e aspas duplas para representar sequências é que se a sequência contiver aspas simples, aspas duplas podem ser usadas para representar a sequência e se a sequência contiver aspas duplas, aspas simples podem ser usadas para representar a sequência.

String ss1 = 'This is an "Apple"';             // 字符串中包含双引号
String ss2 = "I've an apple";                  // 字符串中包含单引号

No entanto, há outro caso em que a string contém aspas duplas e aspas simples. Nesse caso, você precisa usar caracteres de escape, ou seja, adicionar aspas duplas ou aspas simples após a barra invertida (\). O código é o seguinte:

var s1 = "It's my \"coat\"";        // 反斜杠后面加双引号,可以输出双引号
var s2 = 'It\'s my "coat"';         // 反斜杠后面加单引号,可以输出单引号

Se quiser concatenar strings, você pode usar diretamente o sinal de mais (+), se as strings concatenadas forem todos valores, você pode omitir o sinal de mais, o código é o seguinte:

String s1 = "I ";
String s2 = "love ";
String s3 = "you.";
var ss1 = s1 + s2 + s3;         // 连接字符串
var ss2 = "I" " love" " you.";      // 连接字符串(省略加号)

Se o conteúdo da string for relativamente grande e o formato da entrada for preservado, você pode usar 3 pares de aspas simples ou 3 pares de aspas duplas para delimitar a string, de modo que o formato da string no arquivo de código-fonte seja preservado na saída. Incluindo quebras de linha e recuo. código mostrado abaixo:

var s1 = '''
     hello
        world
     I love you.
  ''';
var s2 = """
       hello
        world
     I love you.
  """;

Em alguns casos, queremos manter o conteúdo original da string. Mesmo se houver um caractere de escape na string, ele será gerado como o conteúdo original. Para atender a esse requisito, precisamos adicionar r antes da string. O código é o seguinte:

var s = r'hello\nworld';
print(s);              // 输出hello\nworld

A linguagem Dart não oferece suporte à conexão de strings com outros tipos de valores. Se você deseja conectar strings com outros tipos de valores, geralmente pode usar um dos dois métodos a seguir.

  • Converta outros tipos de valores ou variáveis ​​em strings

  • Use $ na string para incorporar outros tipos de variáveis ​​na string

Se a string incorporada for uma propriedade em um objeto, em vez de uma variável simples, você precisa adicionar um par de chaves após $ para incluir a propriedade, como $ {obj.name}.

int n = 20;
int m = 30;
// 下面代码中,将n嵌入到字符串中,将m转换为字符串,然后通过“+”进行连接
var value = "n = $n, bitLength = ${n.bitLength} m = " + m.toString();
print(value);

Este exemplo demonstra um uso mais detalhado do tipo de string integrado.

void main() {
  var s1 = 'hello world';
  var s2 = "I love you.";
  var s3 = "It's your coat.";
  var s4 = 'This is your "coat"';
  print(s3);
  print(s4);
  var s5 = "It's my \"coat\"";
  print(s5);


  // 字符串连接
  var s6 = s1 + s2 + s3 ;
  print(s6);
  var s7 = "hello"  "world";
  print(s7);


  // 多行字符串
  var s8 = '''
     hello
        world
     I love you.
  ''';
  var s9 = """
       hello
        world
     I love you.
  """;
  print(s8);
  print(s9);


  // 原始格式的字符串
  var s10 = r'hello\nworld'; // raw string
  print(s10);


  const n1 = 50;
  const n2 = 30;
  var sum = n1 + n2;
  var mul = n1 * n2;
  // 将变量嵌入字符串
  var value = "$n1 + $n2 = $sum\n$n1 * $n2 = $mul";
  print(value);
}

O resultado da corrida é mostrado na Figura 1.

Figura 1 Demonstração do uso do tipo string

Se você estiver interessado neste artigo, pode adicionar a conta pública do WeChat do professor Li Ning (Unitymarvel):

Siga a conta oficial da Geek Origin para obter mais vídeos e artigos técnicos gratuitos.

Acho que você gosta

Origin blog.csdn.net/nokiaguy/article/details/107995289
Recomendado
Clasificación