Dart中的“ var”和“ List”有什么区别?

时间:2018-12-30 16:57:30

标签: dart

两者之间有明显区别吗?

var example = ["some","content",11,45,true];

List example = ["some","content",11,45,true];

2 个答案:

答案 0 :(得分:0)

使用var example时,example的类型(静态和运行时)将从分配的值["some","content",11,45,true](或实际上是List推断出)

不会使用List<dynamic>推断类型,而是将使用显式提供的类型List example(或者如果没有提供通用类型,则实际上是List)。

对于List<dynamic>,推断的类型为var example = ["some","content","11","45","true"];

答案 1 :(得分:0)

据我所知,尽可能简单;
列表是一种数据类型,就像Dart中的其他一些内置类型,例如 ConstraintSet constraintSet = new ConstraintSet(); constraintSet.clone(main_layout); constraintSet.connect(R.id.firstButton, ConstraintSet.START, R.id.guideline4, ConstraintSet.END); constraintSet.connect(R.id.firstButton, ConstraintSet.TOP, R.id.guideline, ConstraintSet.BOTTOM); constraintSet.applyTo(main_layout); Stringint。使用bool初始化变量时,分配的值必须为List类型。即您不能这样做

List

因为您要在此处将String值分配给List变量或对象。
var 是一种在不指定变量类型的情况下声明变量的方法。对于List example = "sometext"; ,将接受所有类型的数据类型。

  

两者之间有明显区别吗?

var

这两种声明方法都具有相同的效果,除非,您希望在生命周期内为var example = ["some","content",11,45,true]; List example = ["some","content",11,45,true]; 以外的其他类型的example分配一个值。即,如果您打算将来分配Listintdouble或其他任何值给string,请使用第一种方法,否则可以使用其中任何一种。