- 變量與常量
Dart中用var聲明一個變量,如果想設定一個變量不可變,那麼可以使用final或者const修飾。
var number;
number = 12;
print("the number is $number");
number = "20";
print(number);
final sum = 10;
const count = 2;
- 字元串
字元串的幾種建立方式
- 使用單引号、雙引号
- 使用三個引号、雙引号建立多行字元串
- 使用r建立原始字元串,使轉義字元無效
var a = 'hahha';
print(a);
var b = "hoho";
print(b);
var c = ''' I
have
a
dream
!
''';
print(c);
var d = """do
you
have
dream
?
""";
print(d);
var e = "can \nyou \nuse \nflutter ?";
var f = r"can \nyou \nuse \nflutter ?";
print(e);
print(f);
輸出結果
//輸出結果
/*
hahha
hoho
I
have
a
dream
!
do
you
have
dream
?
can
you
use
flutter ?
can \nyou \nuse \nflutter ?
*/
字元串操作
- 運算符 + 、*、===、[]
String a = "11";
print(a + a);
print(a * 3);
print(a == "22");
print([a,a,a,a]);
- 插值表達式${}
- 常用屬性length、isEmpty、isNotEmpty
- 常用方法
//contains
String str1 = "i am a ios developer";
String subStr = "ios";
if (str1.contains(subStr)) {
print("str1 contains subStr");
}
// substring
String subStr1 = str1.substring(12);
String subStr2 = str1.substring(8,10);
print("frist subString is $subStr1 , second subString is $subStr2");
// startsWith
bool isStart = str1.startsWith("i");
if (isStart) {
print("object");
}
// endsWith
bool isEnd = str1.endsWith("developer");
if (isEnd) {
print("object");
}
str1.indexOf("ios");
str1.indexOf("i",2);
str1.lastIndexOf("i");
str1.lastIndexOf("i",2);
String upStr = str1.toUpperCase();
String lowerStr = upStr.toLowerCase();
print(upStr + lowerStr);
str1.trim();
str1.trimLeft();
str1.trimRight();
str1.split("ios");
str1.replaceAll("ios", "flutter");
- List
dart中的數組分為可變數組和不可變數組,而且數組裡面可以放不同類型的資料。List也提供了很多便捷的方法分。
//可變數組
var list = [1,2,3];
//不可變數組
var list2 = const [1,2,3,4];
//數字裡面可以放不同類型的資料
var list3 = [1,2,"ios",list];
//常用方法
print(list.length); //擷取長度
list.add(4); //添加元素
list.remove(4); //移除元素
list3.insert(3, "android"); //在指定索引添加元素
var index = list3.indexOf("ios"); //傳回元素的索引
list3.shuffle(); //打亂數組裡面的順序
//周遊數組
list3.forEach((element) {
print(element);
});
- Map
在Dart中,Map用key-value形式儲存,key和value都能是任何類型的對象,key唯一。Map同樣也分為可變和不可變兩種。
//建立可變Map
Map person = {
"name": "xiaoming",
"height":180,
"age":29,
};
//建立不可變Map
Map dog = const {
"name": "xiaohua",
"kind": "erha",
};
person.remove("age"); //移除key age
person.clear(); //清除map
person.addAll(dog); //把狗變成人了
person.containsKey("name"); //判斷key中是否有“name”
person.containsValue("xiaoming"); //判斷value中是否有“小明”
var values = person.values; //擷取所有value
var keys = person.keys; //擷取所有key
//周遊Map
person.forEach((key, value) {
print("dog de $key is $value");
});