Expresión de bucle de Dart
en bucle
for (int i = 1; i<=100; i++) {
print(i);
}
También se puede escribir como:
for (var i = 1; i<=10; i++) {
print(i);
}
Para List
el recorrido podemos hacer:
var list = <String>["张三","李四","王五"];
for (var element in list) {
print(element);
}
Para Map
la iteración también podemos usar una for
declaración de bucle:
var person={
"name":"小明",
"age":28,
"work":["程序员","Android开发"]
};
person.forEach((key, value) {
print(value);
});
mientras declaración
while
Hay dos formatos de declaración:
while(表达式/循环条件){
}
do{
语句/循环体
}while(表达式/循环条件);
Aviso:
- 1. No olvides el último punto y coma
- 2. Las variables utilizadas en las condiciones de bucle deben inicializarse
- 3. En el cuerpo del ciclo, debe haber condiciones para finalizar el ciclo, de lo contrario, se generará un ciclo infinito.
Vea el código a continuación:
int i = 1;
while (i <= 10) {
print(i);
i++;
}
do...while()
La mayor diferencia es que se ejecutará al menos una vez independientemente de si la condición es verdadera o no:
var i = 2;
do{
print('执行代码');
}while(i < 2);
romper y continuar declaraciones
función de declaración de interrupción:
- Haga que el flujo salga de la estructura en la
switch
declaración .switch
- En la declaración del ciclo, el proceso salta fuera del ciclo actual. Cuando
break
finaliza el ciclo, el siguiente código no se ejecutará.
Cabe destacar que:
- Si la declaración ya se ha ejecutado en el bucle, la
break
declaración después de la interrupción en el cuerpo del bucle no se ejecutará. - En un bucle de varias capas, una
break
declaración solo puede saltar un nivel
break
Se puede utilizar tanto en bucles switch case
como en bucles.for
while
La función de continuar declaración:
Solo se puede usar en una instrucción de ciclo para finalizar el ciclo actual, es decir, omitir la instrucción no ejecutada debajo del cuerpo del ciclo y luego decidir si ejecutar el ciclo la próxima vez.
continue
Se puede usar en for
bucles y while
bucles, pero no se recomienda usarlo en while
bucles, y es fácil morir accidentalmente.
uso de descanso:
//如果 i等于4的话跳出循环
for(var i=1;i<=10;i++){
if(i==4){
break; /*跳出循环体*/
}
print(i);
}
//break语句只能向外跳出一层
for(var i = 0;i < 5;i++){
for(var j = 0;j< 3;j++){
if(j == 1){
break;
}
}
}
El ciclo while salta:
//while循环 break跳出循环
var i = 1;
while(i< =10){
if(i == 4){
break;
}
print(i);
i++;
}
seguir usando:
//如果i等于4的话跳过
for(var i=1;i<=5;i++){
if(i == 2){
continue; //跳过当前循环体 然后循环还会继续执行
}
print(i);
}
Enumerar propiedades y métodos comunes
Propiedades comunes:
length
longitudreversed
dar la vueltaisEmpty
esta vacioisNotEmpty
no está vacío
Método común:
add
AumentaraddAll
matriz concatenadaindexOf
Buscar valor específico entranteremove
Eliminar valor específico entranteremoveAt
eliminar el valor de índice entrantefillRange
Revisarinsert(index,value)
Insertar en la ubicación especificadainsertAll(index,list)
Insertar una lista en una ubicación específicatoList()
Convertir otros tipos a Listajoin()
Convertir lista en cadenasplit()
Convertir cadena a ListaforEach
map
where
any
Algunas propiedades y métodos comunes usan ejemplos:
var list=['张三','李四','王五',"小明"];
print(list.length);
print(list.isEmpty);
print(list.isNotEmpty);
print(list.reversed); //对列表倒序排序
print(list.indexOf('李四')); //indexOf查找数据 查找不到返回-1 查找到返回索引值
list.remove('王五');
list.removeAt(2);
list.fillRange(1, 2,'a'); //修改 1是开始的位置 2二是结束的位置
print(list);
list.insert(1,'a');
print(list);
list.insertAll(1, ['a','b']); //插入多个
Establecer
La función principal de Set es eliminar el contenido duplicado de la matriz, es una colección que no tiene orden y no se puede repetir, por lo que el valor no se puede obtener por índice.
var s = new Set();
s.add('A');
s.add('B');
s.add('B');
print(s); //{A, B}
Cuando add
no se puede añadir el mismo contenido.
Un conjunto puede agregar uno a través de add
métodos List
y borrar elementos con el mismo valor:
var list = ['香蕉','苹果','西瓜','香蕉','苹果','香蕉','苹果'];
var s = new Set();
s.addAll(list);
print(s);
print(s.toList());
Asignar propiedades y métodos comunes
El mapa es un par clave-valor no ordenado. Sus propiedades comunes son las siguientes:
Propiedades comunes:
keys
Obtener todos los valores clavevalues
obtener todos los valoresisEmpty
esta vacioisNotEmpty
no está vacío
Método común:
remove(key)
Eliminar los datos de la clave especificadaaddAll({...})
Combinar mapas para agregar atributos al mapacontainsValue
Ver el valor dentro del mapa devuelve verdadero/falsoforEach
map
where
any
every
transformación del mapa:
List list = [1, 3, 4];
//map转换,根据返回值返回新的元素列表
var newList = list.map((value) {
return value * 2;
});
print(newList.toList());
donde: Obtener los elementos que cumplen las condiciones:
List list = [1,3,4,5,7,8,9];
var newList = list.where((value){
return value > 5;
});
print(newList.toList());
any: si hay un elemento que coincida con la condición
List list = [1, 3, 4, 5, 7, 8, 9];
//只要集合里面有满足条件的就返回true
var isContain = list.any((value) {
return value > 5;
});
print(isContain);
cada: cada uno de ellos debe cumplir la condición
List myList=[1,3,4,5,7,8,9];
//每一个都满足条件返回true 否则返回false
var flag = myList.every((value){
return value > 5;
});
print(flag);
El conjunto se recorre usando forEach:
var s=new Set();
s.addAll([11,22,33]);
s.forEach((value) => print(value));
El mapa se recorre usando forEach:
Map person={
"name":"张三",
"age":28
};
person.forEach((key,value){
print("$key -> $value");
});