Dart is a type of safe language. Each variable declared in a dart must be assigned with type.
As you see, variables are declared in multiple ways, and the type variable is inferred using the value declared or type declared as seen below.
void main() {
// declare using var
var str = "welcome";
//declare using type
String str2 = "hello";
}
From the above example, two strings are declared and initialized. These are static types.
Sometimes, For example, variables are assigned during function calls, and not sure about what type of function, It can be any primitive type.
How to Declare dynamic variable?
Dynamic Variables are declared like normal variables in Dart.
The default value for the dynamic
type is null
.
dynamic variable_name=11;
dynamic variable_name1=11.23;
dynamic variable_name2="abc";
In the above program.
- Variables of dynamic are declared
- a type of the variable is declared, It tells the value type to be stored.
- since the type is dynamic, We can assign the int, double, and string types to them.
Here is an example, dynamic types hold multiple values of different types.
Once you declare a value with a specific, You are fine to reassign the variable with a different type
void main() {
dynamic variable_name = 11;
dynamic variable_name1 = 11.23;
dynamic variable_name2 = "abc";
print(variable_name.runtimeType); //int
print(variable_name is int); //true
print(variable_name is dynamic); //true
;
print(variable_name1.runtimeType); //double
print(variable_name1 is double); //true
print(variable_name1 is dynamic); //true
print(variable_name2.runtimeType); //String
print(variable_name2 is String); //true
print(variable_name2 is dynamic); //true
// assign to different types
variable_name1 = "abc1";
print(variable_name1.runtimeType); //String
print(variable_name1 is double); //false
print(variable_name1 is dynamic); //true
}
Advantages with dynamic type
- You can assign any type of value and the type is dynamic
- It is fine to reassign with a different type
- It provides full proofed type safety in Dart language