flutter學習之前置技術dart
阿新 • • 發佈:2019-01-11
1.前置技術dart
1.1 dart-hello word
void main(){
print('hello word');
}
1.2 dart-基礎資料型別
void main(){ //關鍵字 num -- 定義資料型別 可以是 int 可以 是 double num a = 1; print(a); num b = 1.0; print(b); //也可以定義 int double int a1 = 1; print(a1); double b1 = 1.0; print(b1); //值給變數定義,不賦值dart中會統一的給 null int a2; print(a2) // null; }
1.2 dart - 引用資料型別,集合,map
void main() {
//陣列,及集合的定義參考json格式
List list = [1,2]; //就是陣列的方式
print(list); //[1, 2]
Map<String,dynamic> map = {'name':'zhangsan','age':18}; //dynamic 動態型別,不知道使用什麼宣告時使用dynamic
print(map); //{name: zhangsan, age: 18}
}
1.2 dart -自定義物件
void main() { //支援弱型別定義,同js一樣 var student = new Student('zhangsan', 13); print(student); //Instance of 'Student' 進行了示例化 } /** * final const 的區別 * * final 只能複製一次 ,定義時可以不賦值 * const 常量,定義時需賦值 * 通俗的講: const 定義成王者段位,就一開始是王者,不可掉段,不可修改 * final 現在不是王者,定位賽還沒有打,打完後,就必須是王者,不可掉段 * */ class Student { final String name; final int age; Student(this.name, this.age); }
1.3 dart-自定義物件列印
void main() { //支援弱型別定義,同js一樣 var student = new Student('zhangsan', 13); print(student); //Student{name: zhangsan, age: 13} } class Student { final String name; final int age; Student(this.name, this.age); @override String toString() { return 'Student{name: $name, age: $age}'; //物件中呼叫使用 $加變數名進行呼叫 } }
1.4 dart-私有變數定義,方法定義
//dart中也支援 extends 繼承,私有的使用與java類似,方法的使用定義與java一樣
class Student {
final String name;
final int age;
final String _sex; //私有變數的定義為變數前加 _,
Student(this.name, this.age, this._sex);
@override
String toString() {
return 'Student{name: $name, age: $age}';
}
}
1.5 dart中的引用
import 'package:flutter/material.dart';
//匯入的檔案,dart結尾的檔案
//匯入的是檔案,不是類
//當檔案匯入後,檔案中定義的類,或者flutter中的Wight都可以使用