Aleteo Primeros lenguaje -Dart primer paso de iniciación (a)

Aleteo Primeros lenguaje -Dart primer paso de iniciación (a)

Aleteo reciente estudio cuando se observa bajo la documentación oficial del código de ejemplo, veo una pérdida, como el humo y los espejos (en este caso @ Noreste salsa). En mi opinión personal, el lenguaje dardo sintaxis un poco como una combinación de Java y JS, si conoce la Pangyou java para aprender no debe ser demasiado exigente. Por lo tanto acelerar el trabajo, me gustaría aprender un lenguaje basado dardo poco, y luego empezar mi viaje Acanaladora.
Referencia: https://blog.csdn.net/weixin_33775582/article/details/91377034
http://www.cndartlang.com/669.html

1. Herramientas
personalmente uso una compilación de herramientas en línea DartPad , por supuesto, no están disponibles para uso local IDE, para descargarlo.

2.Helloword!
Cuando el aprendizaje de una nueva lengua, que generalmente seco primero que es la salida de un helloword, dardo no es una excepción. Dart salida helloword muy simple.

Aquí Insertar imagen Descripción

JAVA acostumbrado a la gente puede ser más preguntarse por qué no puede haber una comilla simple. Y mirar hacia abajo

3. Tipos de datos
En primer lugar, tenemos que ser claros, Dardo Sí tipo dinámico de un lenguaje orientado a objetos puro. El todo Dart es un objeto, incluidos números, funciones, y por lo que se heredan del objeto, y el valor predeterminado es nulo (incluyendo digital) digital de cadena Por lo tanto, varios métodos pueden ser llamados

Dardo en admite los siguientes tipos de datos:

A Números
de cuerda
a Booleanos
la lista (es decir, matrices)
Mapas

En primer lugar, nos fijamos en la cadena, la asignación de cadena, se puede utilizar comillas simples, también se puede utilizar comillas dobles (como helloword arriba). Pero el punto a destacar es que al usar comillas simples, comillas dobles se pueden incrustar en el uso de comillas dobles, se pueden incrustar comillas simples. Pero no puede utilizar comillas simples comillas simples incrustadas, comillas dobles es la misma razón, o necesidad de añadir un carácter de escape para escapar.
En la siguiente manera:
Aquí Insertar imagen DescripciónEn segundo lugar, estamos haciendo la concatenación de cadenas, se puede omitir el signo +. Por supuesto, también puede utilizar las teclas +. Esto se debe a que en la versión anterior del SDK no soporta el uso de + cadena de conexión.
Aquí Insertar imagen Descripción
Cuando necesitamos para dar salida a un valor de variable, tenemos que añadir un símbolo $. Tales como
Aquí Insertar imagen Descripción
cuando tenemos que escapar, podemos añadir una frase que se emitirá antes de una r, r la atención debe estar al lado de las cotizaciones, o será de error.
Aquí Insertar imagen Descripción
4. Palabras clave: finales const
constantes constantes en tiempo de compilación const definido, sólo se puede compilar en tiempo para inicializar
constantes definidas finales se pueden utilizar para inicializar una variable
var, definición final de variables tales como el tiempo que queda, y no les importa la derecha no es constante
pero si la derecha con la const, cómo la constante entonces no importa la izquierda y la derecha debe ser

5. Funciones
primer lugar, tenemos que tener claro, en el dardo, la función es también un objeto cuando nuestra función no devuelve un valor, volveremos un nulo a este método, por ejemplo:

void main() {
  
  var name = getName("panghu");
  print(name);
  
}

String getName(String name)
{
  return "name is $name";
}

A medida que el Dart es un lenguaje de tipos dinámicos, podemos cambiar a esto:

void main() {
  
  var name = getName("panghu");
  print(name);
  
}

 getName( name)
{
  return "name is $name";
}

Sin embargo, este código será muy grande en el momento de nuestra dificultad. Si la función simplemente devuelve el valor de una expresión, puede utilizar la sintaxis de la flecha:

void main() {
  
  var name = getName("panghu");
  print(name);
  
}

 getName( name)=>"name is $name";

A continuación, busque el siguiente código:

var callbacks = [];
for (var i = 0; i < 3; i++) {
  // 在列表 callbacks 中添加一个函数对象,这个函数会记住 for 循环中当前 i 的值。
  callbacks.add(() => print('Save $i')); 
}
callbacks.forEach((c) => c()); // 分别输出 0 1 2

Cuando se llama al método add en el bucle, hemos añadido a la matriz es una función del objeto. Entonces de nuevo por debajo del bucle foreach, se recorre cada vez que el método se ejecuta de nuevo c objeto (función) en sí.
función parámetro opcional, la función del lenguaje dardo admite dos parámetros opcionales: 1. Nombre 2. Ubicación parámetros opcionales parámetros opcionales.

: Los parámetros opcionales usados llaves {}, el valor por defecto de dos puntos nombrados
la posición de parámetros opcionales utiliza corchetes [], el valor predeterminado es igual signo =

Características:
parámetros opcionales Nombre: una abrazadera exterior es un parámetro obligatorio, los tirantes son parámetros opcionales, y de acuerdo con la clave: valor de forma ejemplar, la posición no definida.
parámetros de posición opcionales: los corchetes exterior es un parámetro obligatorio, entre corchetes son opcionales, y el parámetro de orden, la asignación de clave = forma de valor.

Vea los siguientes ejemplos

FunX(a, {b, c:3, d:4, e})
{
  print('$a $b $c $d $e');
}

FunY(a, [b, c=3, d=4, e])
{
  print('$a $b $c $d $e');
}


void main()
{
  FunX(1, b:3, d:5);
  FunY(1, 3, 5);
}

Nuestra salida es el resultado:

1 3 3 5 null
1 3 5 4 null

Función de cierre
concepto para desarrolladores js no debe ser desconocida, pero para los desarrolladores de Java es menos familiar.
Nos fijamos en el ejemplo siguiente:

Function makeSubstract(num n)
{
  return (num i) => n - i;
}

void main()
{
  var x = makeSubstract(5);
  print(x(2));
}

Trato de darle un análisis: en makeSubstract, volvemos a un tipo de objeto de función, que se devuelve a una función, más precisamente, definimos una función anónima en el cuerpo de la función makeSubstract. Por lo tanto, en la función principal, nuestra x es en realidad un objeto función, lo que realmente se ve así:

int x(num i)
{
return 5-i;
}

Los alias de función: Vea los ejemplos a continuación

typedef int Compare(Object a, Object b);
 
class SortedCollection {
  Compare compare;
 
  SortedCollection(this.compare);
}
 
// Initial, broken implementation.
int sort(Object a, Object b) => 0;
 
void main() {
  SortedCollection coll = new SortedCollection(sort);
  assert(coll.compare is Function);
  assert(coll.compare is Compare);
}

Acerca de las funciones y tipos de aquí, el próximo artículo veremos la otra parte del dardo

Publicado 47 artículos originales · elogios ganado 15 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/qq_41525021/article/details/104280538
Recomendado
Clasificación