CursosEmpresasBlogLiveConfPrecios

Tipos de datos avanzados

Clase 6 de 23 • Curso de Dart desde Cero

Clase anteriorSiguiente clase

Contenido del curso

Introducción
  • 1
    Bienvenida al curso

    Bienvenida al curso

    01:44
  • 2
    Introducción de Dart

    Introducción de Dart

    07:59
  • 3
    Introducción a DartPad

    Introducción a DartPad

    12:17
  • Quiz Módulo 1

Las bases de programación
  • 4
    Variables

    Variables

    04:51
  • 5
    Tipos de datos básicos

    Tipos de datos básicos

    15:33
  • 6
    Tipos de datos avanzados

    Tipos de datos avanzados

    07:23
  • 7
    Manipulación de variables

    Manipulación de variables

    05:54
  • 8
    String con Dart

    String con Dart

    13:47
  • 9
    Conversión de tipos

    Conversión de tipos

    05:17
  • 10

    Ejercicio sobre las bases de programación

    00:49
  • Quiz Módulo 2

Flujo de datos
  • 11
    Operaciones

    Operaciones

    13:36
  • 12
    Condicionales

    Condicionales

    08:44
  • 13
    Ciclos

    Ciclos

    08:04
  • 14
    Enumeraciones

    Enumeraciones

    04:59
  • 15

    ¡Construye una calculadora!

    01:07
Colecciones
  • 16
    Introducción a las colecciones

    Introducción a las colecciones

    01:50
  • 17
    Colección de tipo Lista

    Colección de tipo Lista

    09:46
  • 18
    Colección de tipo Sets

    Colección de tipo Sets

    05:04
  • 19
    Colección de tipo Mapa

    Colección de tipo Mapa

    07:52
  • 20
    Colección de colecciones

    Colección de colecciones

    08:39
  • 21
    Flujos dentro de colecciones

    Flujos dentro de colecciones

    04:44
  • 22

    Reto de colecciones

    00:44
Conclusión
  • 23
    Sigue aprendiendo Dart

    Sigue aprendiendo Dart

    00:38
    Adolfo Martínez Garza

    Adolfo Martínez Garza

    student•
    hace 4 años

    const: Debe ser conocido su valor en tiempo de compilación final: Todo lo que no se conozca en el momento de la compilación debe ser final

      Melvin Salas

      Melvin Salas

      teacher•
      hace 4 años

      Excelente explicación

    Franklin Gil

    Franklin Gil

    student•
    hace 3 años

    La diferencia del final con el const, es que el final puede ser declarado y no definido, y definida la primera vez, no se puede cambiar.

    void main() { final x; x = 2; x = 4; // Error, Solo puede ser definido una vez const y; y = "Foo"; // Error }
    Andrés Felipe Arango Rocha

    Andrés Felipe Arango Rocha

    student•
    hace 3 años

    Para el ejercicio supongamos que tenemos un textfield donde el user pone un nombre y se guardará en la variable nombre tanto en const como en final:

    Con el ejemplo de abajo sí se puede. Puedes correr el programa. El usuario podrá poner un nombre en el textfield y se guardará en la variable.

    final nombre = textfield.result

    No se puede realizar el ejemplo de abajo, se tiene que conocer el valor de la variable const antes de correr el programa.

    const nombre = textfield.result //Error

    EJEMPLO: const nombre = “Felipe” //bien!

    ¿Para qué const puede ser útil? -el nombre de la app -la url de alguna página de internet que utilicemos en la app -y cualquier valor que no cambie y se sepa de antemano

      Jonathan Edwin Gutiérrez Olvera

      Jonathan Edwin Gutiérrez Olvera

      student•
      hace 3 años

      Muy buena explicación, me ayudaste mucho para entender las diferencias entre const y final 😄

    Yeicob Calderón

    Yeicob Calderón

    student•
    hace 4 años

    las variables tipo var pueden ser declaradas y en otra linea inicializadas aunque no se una buena practica. puede permitir algo similar a lo siguiente:

    var temporal ; temporal = 2; print(temporal); temporal = "Hola"; print(temporal);

    Ya que reconoce el tipo de la variable como dynamic.

      Melvin Salas

      Melvin Salas

      teacher•
      hace 4 años

      Excelente explicación :D

      El comportamiento es igual a un dynamic, y el tipo lo podemos saber gracias al método runtimeType, que aparece como Null

    Tomás Antonio Díaz Montilla

    Tomás Antonio Díaz Montilla

    student•
    hace 3 años

    Hola, pero explícitamente la diferencia entre los tipos de variables; <const> y final... se que <const> no debe cambiar de valor; pero <final> tampoco? en que caso preferiría usar alguno..? (no me queda claro).

      Alex Vladimir Minga Arias

      Alex Vladimir Minga Arias

      student•
      hace 3 años

      final se inicializa al momento de utilizarse, const desde el inicio.

      Es decir puedes poner final variable; Y muchas lineas mas abajo poner varianle=3.14

    Emmanuel Rodríguez

    Emmanuel Rodríguez

    student•
    hace 3 años

    Tengo conflicto con esta clase porque var, dynamic, final y const no son tipos de datos 😅 . La razón es porque todas ellas son encapsulamientos de datos dependiendo del caso (por ejemplo, al emplear OOP). . Por ejemplo:

    final name = 'Bob'; final String nickname = 'Bobby';

    Aquí, tenemos una variable final que dependen de una abstracción de una clase, donde el tipo es String (inferido o explícito, respectívamente). .

    ❓ Debate ¿Sabes la razón por el cual debes evitar usar dynamic y es una opción muy particular?

    .

    Tipos de datos avanzados

    ✨ Concepto Clave Un tipo avanzado expone un conjunto de contexto en utilidades que permiten el desarrollo de requerimientos en alto orden.

    . Cuando referimos a datos avanzados, nos referimos a aquellas referencias que permiten definir valores complejos de programación, categorizados en: .

    • Especiales
      • Objetos (Objects)
      • Enumerales (Enum)
      • Flujos (Future o Stream)
      • Iterable
      • Dynamic
      • Void
    • Jerárquicos
      • Object?
      • Null
      • Never

    . Donde su implementación radica en el uso del operador diamance < type >. .

    Kebyn Enrique Ajin Elías

    Kebyn Enrique Ajin Elías

    student•
    hace 3 años

    Interesante el tipo de dato dynamic :)

      Andrés Felipe Arango Rocha

      Andrés Felipe Arango Rocha

      student•
      hace 3 años

      Es un arma de doble filo. Me ha pasado que a veces no se qué tipo de dato es, me confundo y a veces tengo errores.

    Héctor

    Héctor

    student•
    hace 4 años

    Excelente!!!

    Alex Vladimir Minga Arias

    Alex Vladimir Minga Arias

    student•
    hace 3 años

    Cuando es recomendado usar var ? Yo siempre procuro usar los tipos de datos especificos a cada variable

      Santiago Puerta

      Santiago Puerta

      student•
      hace 3 años

      Eso depende... la buena practica es saber el tipo de dato, tal y como Melvin dice, la cosa es que.. algunas veces es muy complejo saber el tipo de dato de la respuesta de una pagina de internet por ejemplo. Es ahí donde los tipos de datos de var o dynamic juegan un papel importante.

    Alvaro Moises Gonzalez Quintero

    Alvaro Moises Gonzalez Quintero

    student•
    hace 2 años

    Entonces const cuando tenemos el valor de la variable y queramos mutarla por algún motivo.

    final si no conocemos el valor en el momento, pero es necesario que no se pueda mutar el valor que guarda

    dynamic para hacer reasignaciones con diferentes tipos de datos, basicamente como lo hace JavaScript.

    Andres Elias Mendoza Zuluaga

    Andres Elias Mendoza Zuluaga

    student•
    hace 3 años

    Lo que veo es que no se puede designar el tipo var en una lista, en estos casos si da un error, se debe seleccionar el tipo de variable especifico : List<var>Paises=["colombia","peru"] arroja un error.

    Johan Astudillo

    Johan Astudillo

    student•
    hace 3 años

    hay influencia en rendimiento, si uso var o pongo el tipo de dato?

    Diego Frank Lipa Choque

    Diego Frank Lipa Choque

    student•
    hace 3 años
    //Final and Const //Infieren el tipo de dato const pi = 3.312123; const name = "Diego Lipa"; final pi2 = 3.32232; final nombre2 = "Diegolipa"; //dynamic // se le puede asignar diferentes tipos de datos dynamic nombre3 = "diego lipa"; nombre3 = 1234; nombre3 = true; print(nombre3);
    Diego Frank Lipa Choque

    Diego Frank Lipa Choque

    student•
    hace 3 años
    void main() { print('Hola Mundo'); bool d = true; print(d); int edad = 20; double estatura = 1.65; print(edad + estatura); String nombre = 'Diego Lipa Choque'; print(nombre); var flybyObjects = [2, 'Saturn', 'Uranus', 'Neptune']; print(flybyObjects); List<String> p = ['Diego']; print(p); }
    Diego Frank Lipa Choque

    Diego Frank Lipa Choque

    student•
    hace 3 años

    void main() { print('Hola Mundo'); bool d = true; print(d); int edad = 20; double estatura = 1.65;

    print(edad + estatura);

    String nombre = 'Diego Lipa Choque'; print(nombre);

    var flybyObjects = [2, 'Saturn', 'Uranus', 'Neptune']; print(flybyObjects);

    List<String> p = ['Diego']; print(p); }

    Alex Vladimir Minga Arias

    Alex Vladimir Minga Arias

    student•
    hace 3 años

    Cuando se podria considerar adecuado usar var ? Yo siempre procuro usar los tipos de datos especificos

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads