flutter(2):基础的语法学习,非常像java javascript 特别容易入手

    xiaoxiao2022-07-14  153

    前言


    本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/90488394 未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys

    1,关于dart


    要开发 flutter 必须得用 dart 进行开发。 这个是个很容易学的语言,比golang 还容易,和java JavaScript 非常相似。 Flutter 官方网站: https://flutter.dev https://flutter-io.cn/ https://codelabs.flutter-io.cn/ 参考官方代码: https://codelabs.flutter-io.cn/codelabs/first-flutter-app-pt1-cn/index.html#0 dart 官方网站: https://dart.dev/ 下载 flutter: https://flutter.dev/docs/get-started/install 下载 android studio : https://developer.android.com/studio 但是默认 android 里面没有 flutter 插件。 打开 android 选择 flutter 插件,安装了 flutter 插件会自动关联安装 dart 插件.

    2,dart 语法


    https://zhuanlan.zhihu.com/p/38847885

    var 关键字声明一个变量,var 关键字声明一个变量

    main(List<String> args) { var number = 42; var name = 'Gurleen Sethi'; var salary = 150300.56; var isDoorOpen = true; }

    声明变量:

    int number = 42; String name = 'Gurleen Sethi'; double salary = 150300.56; bool isDoorOpen = true; final int number = 42; const String name = 'Gurleen Sethi'; //Omit explicitly defining data types final salary = 150300.56; const isDoorOpen = true;

    final 和 const 的不同是,const 是编译时常量,也就是编译时就要有值,如 const PI=3.14,而 final 只准许赋值一次,可以在编译时也可以在运行时。 dart 提供基本的数据类型: • Numbers 只有 int double 没有 float • Strings 带 $xxx 占位解析 • Booleans • Lists • Maps

    var list = [1,2,3,4]; list.length print(list[1]); //Outout: 2 list.add(10); list.remove(3);//只删除一个。符合条件的第一个 list.removeAt(0);//下标删除 var map = { 'key1': 'value1', 'key2': 'value2', 'key3': 'value3' }; print(map['key1']); print(map['test']); //Output: value1 //Output: null map['key4'] = 'value4'; //Length print(map.length); //Check if a key is present map.containsKey('value1'); //Get entries , keys and values var entries = map.entries; var keys = map.keys; var values = map.values;

    函数,第一个是返回类型,可以忽略,也可以使用箭头函数。

    String fullName(String firstName, String lastName) { return "$firstName $lastName"; } fullName(String firstName, String lastName) { return "$firstName $lastName"; } fullName(String firstName, String lastName) => "$firstName $lastName";

    带默认值 ,函数传递函数

    fullName({String firstName, String lastName = "Lazy"}) { return "$firstName $lastName"; } main(List<String> args) { out(printOutLoud); } out(void inner(String message)) { inner('Message from inner function'); } printOutLoud(String message) { print(message.toUpperCase()); }

    这里有个地方比较特别: async await future 语法 延迟计算 future 对象。加入了 battery lib 后进行异步调用。

    //第 1 种写法。 void getBattery1() { // Instantiate it var battery = Battery(); battery.batteryLevel.then((val) { // Access current battery level print("get method1 batteryLevel $val "); }); } //第 2 种写法。 void getBattery2() async { // Instantiate it var battery = Battery(); var val = await battery.batteryLevel; // Access current battery level print("get method2 batteryLevel $val "); }

    async await 延迟计算,针对函数,成对出现。

    3,package包使用


    官方说的是在 dependencies 下面增加,mqtt_client: ^5.5.3 ,然后点击【packages get】。 非常方便的点击get 按钮就可以下载相关的包了。

    4,总结


    官方学习地址: https://codelabs.flutter-io.cn/

    dart 语法非常容易学呢。

    其他开源项目: https://github.com/brianegan/flutter_redux https://github.com/OpenFlutter/Flutter-Notebook https://github.com/flutter/samples https://github.com/flutter/samples/blob/master/INDEX.md

    本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/90488394

    博主地址是:http://blog.csdn.net/freewebsys

    最新回复(0)