1.字符串
main(List<String> args) {
// 1.定義字符串
單引號
var str1 = 'abc';
雙引號
var str2 = "abc";
三個雙引號
var str3 = """
abc
cba
nba
""";
// 2.字符串和表達式進行拼接
var name = "why";
var age = 19;
var height = 1.88;
// 強調(diào): ${變量}, 那么{}可以省略
var message1 = "my name is $name, age is $age, height is $height";
var message2 = "name is $name, type is ${name.runtimeType}";
print(message1);
print(message2);
}
2.集合類
main(List<String> args) {
// 1.列表List: [];
var names = ["abc", "cba", "nba", "cba"];
names.add("mba");
// 2.集合Set: {};
var movies = {"星際穿越", "大話西游", "盜夢空間"};
names = Set<String>.from(names).toList();
print(names);
// 3.映射Map
var info = {
"name": "why",
"age": 18
};
}
3.聲明變量
在Dart中享幽,可以使用var或具體類型來聲明變量比肄。
通過類型推導衡蚂,name是字符串類型
var name = 'Tom';
字符串類型
String address = 'Beijing';
int類型
int age = 18;
double 類型
double height = 1.75;
布爾類型
bool isStudent = true;
4.條件語句
int score = 80;
if (score >= 90) {
print('優(yōu)秀');
} else if (score >= 80) {
print('良好');
} else if (score >= 60) {
print('及格');
} else {
print('不及格');
}
5.循環(huán)語句
// for循環(huán)
for (var i = 0; i < 5; i++) {
print(i);
}
// while循環(huán)
var j = 0;
while (j < 5) {
print(j);
j++;
}
// do-while循環(huán)
var k = 0;
do {
print(k);
k++;
} while (k < 5);
6.類的定義
class Person {
String name;
int age;
Person(this.name, this.age);
void sayHello() {
print('Hello, my name is $name');
}
}
var person = Person('Tom', 18);
person.sayHello();
7.函數(shù)
main(List<String> args) {
sayHello1("lyw");
sayHello2("lyw", 18, 1.88);
sayHello3("lyw", height: 1.88);
}
// 必選參數(shù): 必須傳
void sayHello1(String name) {
print(name);
}
// dart中沒有函數(shù)的重載
// 可選參數(shù): 位置可選參數(shù) - 命名可選參數(shù)
// 注意: 只有可選參數(shù)才可以有默認值
// 位置可選參數(shù): [int age, double height]
// 實參和形參在進行匹配時, 是根據(jù)位置的匹配
void sayHello2(String name, [int age = 10, double height = 2]) {
}
// 命名可選參數(shù)
void sayHello3(String name, {int age = 10, double height = 3.14}) {
}
8.箭頭函數(shù)
// 條件, 函數(shù)體只有一行代碼
test(() => print("箭頭函數(shù)被執(zhí)行"));