美文网首页Dart
Dart - 类型声明

Dart - 类型声明

作者: LouisXWB | 来源:发表于2019-11-29 00:53 被阅读0次

声明概述

虽然Dart是一门强类型语言,但是声明变量时既可以用静态类型声明,也可以用var可选类型声明,还有dynamic类型声明,因为Dart能进行类型推断。

声明种类

  • 静态类型
  • var可选类型
  • dynamic动态类型
  • Object 基类声明

分类说明

1、静态类型

声明变量的时候,使用明确的数据类型:

String name = "Jay";
int number = 123;
2、var可选类型

使用 var 来声明变量,不需要指定变量的明确类型,因为 Dart 会自动推断其数据类型,所以可以使用 var 来定义任何的变量:

var content = 'Dart Languge'; 
var switchOn = false;
var current = 123

为什么能用var定义所有的变量?
原因是var 并不是用来直接存储值的,而是存储的值的对象的引用,例如:var content = 'Dart' 这句,是名字为 content 的 var 变量存储了值为 'Dart' 的 String 对象的引用,所以 var 才能定义任何变量。

3、dynamic动态类型

dynamic的意思是数据类型是动态可变的,也可以定义为任何变量,但是和 var 不同的是,var 一旦赋值后,就不能改变数据类型了:

dynamic example = 'example';
example = 1;//✅  这个使用方法正确,因为 dynamic 的类型是动态可变的
var content = 'Dart 语法';
content = 1; //❌ 错误的使用方法,content为String,不能赋值数字类型
4、 Object 基类声明

Dart 里所有东西都是对象,是因为 Dart 的所有东西都继承自 Object,因此 Object 可以定义任何变量,而且赋值后,类型也可以更改:

Object index = 100;
index = 'string';//✅ 因为  'String' 也是 Object
疑问:dynamicObject类型到底有什么区别?

首先:请不要滥用 dynamic,一般情况下都可以用 Object 代替 dynamic;
其次:dynamic是有应用场景的,当变量没法用 Dart 的类型来表示时,比如 Native 和 Flutter 交互,从 Native 传来的数据并不能Object能声明的,所以你会看到 PlatformChannel 里有很多地方使用到了 dynamic。

相关文章

  • Dart - 类型声明

    声明概述 虽然Dart是一门强类型语言,但是声明变量时既可以用静态类型声明,也可以用var可选类型声明,还有dyn...

  • 三. Dart语法学习2

    Dart基本类型常用Api介绍 布尔类型 Dart中布尔类型很简单。如C语言中用bool声明,对应true & f...

  • 二.Flutter之Dart语法(变量,数据类型,函数,运算符)

    一.Dart变量声明方式: 方式1:明确声明(Explicit) 变量类型 变量名称 = 赋值; 方式2:类型推导...

  • 一、Flutter中Dart语言

    一、基本类型 Dart属于是强类型语言,可以用 var来声明变量 Dart 会自推导出数据类型, var 实际上是...

  • Dart语言基础,Dart 基础

    Dart 的main方法有两种声明方式 注释 变量的声明 、命名规则、数组类型 Dart是一个强大的脚本类语言,可...

  • Dart 笔记 2 - 变量

    可以显示声明类型 var 声明变量而不指定类型,当被赋值后 Dart 本身会进行类型推断。类型一旦确定就不会改变 ...

  • Dart语言简介 2019-03-18

    标签(空格分隔): Dart Flutter Dart在静态语法方面和Java非常相似,如类型定义、函数声明、泛型...

  • Flutter系列 (一)Dart语法

    Dart 变量、常量的声明方式 变量声明可以采用 var 关键字进行声明、或者采用指定类型来声明 var会自动推导...

  • 第3章 Dart基础语法 -- 数据类型

    Dart中除了使用var,Object和dynamic声明变量,数据本身是由类型的,Dart中也可以直接使用数据类...

  • Dart学习笔记一

    声明变量 var t; t="hello"; 使用var声明变量,Dart中var变量一旦赋值,类型便会确定,则不...

网友评论

    本文标题:Dart - 类型声明

    本文链接:https://www.haomeiwen.com/subject/sqfwwctx.html