美文网首页Flutter
Flutter学习笔记1.1 Dart基础(变量 常量 命名规则

Flutter学习笔记1.1 Dart基础(变量 常量 命名规则

作者: 艾伦oy | 来源:发表于2022-04-20 23:59 被阅读0次

    作为我自学flutter的复习笔记,后面忘记了什么知识点方便自己回看。

    Dart介绍:

    Dart是由谷歌开发的计算机编程语言,它可以被用于web、服务器、移动应用 和物联网等领域的开发。
    Dart诞生于2011年,号称要取代JavaScript。但是过去的几年中一直不温不火。直到Flutter的出现现在被人们重新重视。
    要学Flutter的话我们必须首先得会Dart。
    官网:https://dart.dev/

    Dart环境搭建:

    要在我们本地开发Dart程序的话首先需要安装Dart Sdk
    官方文档:https://dart.dev/get-dart

    windows(推荐):

    http://www.gekorm.com/dart-windows/

    Mac·:

    如果mac电脑没有安装brew这个工具首先第一步需要安装它: https://brew.sh/

    brew tap dart-lang/dart

    brew install dart

    Dart 开发工具:

    Dart的开发工具有很多: IntelliJ IDEA 、 WebStorm、 Atom、Vscode等

    这里我们主要给大家讲解的是如果在Vscode中配置Dart。

    1、找到vscode插件安装dart

    2、找到vscode插件安装code runner Code Runner 可以运行我们的文件

    Dart 变量:

    dart是一个强大的脚本类语言,可以不预先定义变量类型 ,自动会类型推倒

    dart中定义变量可以通过var关键字可以通过类型来申明变量

    如:

     var str='this is var';
    
     String str='this is var';
    
     int str=123;
    

    注意: var 后就不要写类型 , 写了类型 不要var 两者都写 var a int = 5; 报错

    Dart 常量: final 和 const修饰符

    const值不变 一开始就得赋值
    final 可以开始不赋值 只能赋一次 ; 而final不仅有const的编译时常量的特性,最重要的它是运行时常量,并且final是惰性初始化,即在运行时第一次使用前才初始化
    永远不改量的量,请使用final或const修饰它,而不是使用var或其他变量类型。

    区别final可以开始不赋值 只能赋一次 ; 而final不仅有const的编译时常量的特性,最重要的它是运行时常量,并且final是惰性初始化,即在运行时第一次使用前才初始化

        final name = 'Bob'; // Without a type annotation
        final String nickname = 'Bobby';
    
        const bar = 1000000; // Unit of pressure (dynes/cm2)
        const double atm = 1.01325 * bar; // Standard atmosphere
    
    

    Dart的命名规则:

    1、变量名称必须由数字、字母、下划线和美元符($)组成。

    2.注意:标识符开头不能是数字

    3.标识符不能是保留字和关键字。

    4.变量的名字是区分大小写的如: ageAge是不同的变量。在实际的运用中,也建议,不要用一个单词大小写区分两个变量。

    5、标识符(变量名称)一定要见名思意 :变量名称建议用名词,方法名称建议用动词

    
        //var 2str='xxx';   //错误
    
        // var if='124214';  //错误
    
    
        //变量的名字是区分大小写的
        var age=20;
    
        var Age=30;
    
        print(age);
        print(Age);
    
        
    
        var price=12;
    
        var name=124;
    

    基本类型

    Dart中支持以下数据类型:

    常用数据类型:
    Numbers(数值):
    int(整形)
    double(浮点)
    Strings(字符串)
    Booleans(布尔)
    List(数组) 在Dart中,数组是列表对象,所以大多数人只是称它们为列表
    Maps(字典) 通常来说,Map 是一个键值对相关的对象。 键和值可以是任何类型的对象。每个 键 只出现一次, 而一个值则可以出现多次

    不常用类型Runes(了解即可)
    Rune是UTF-32编码的字符串。它可以通过文字转换成符号表情或者代表特定的文字。

        main() {
          var clapping = '\u{1f44f}';
          print(clapping);
          print(clapping.codeUnits);
          print(clapping.runes.toList());
        
          Runes input = new Runes(
              '\u2665  \u{1f605}  \u{1f60e}  \u{1f47b}  \u{1f596}  \u{1f44d}');
          print(new String.fromCharCodes(input));
        }
    

    Symbols(了解即可)
    Symbol对象表示在Dart程序中声明的运算符或标识符。您可能永远不需要使用符号,但它们对于按名称引用标识符的API非常有用,因为缩小会更改标识符名称而不会更改标识符符号。要获取标识符的符号,请使用符号文字,它只是#后跟标识符:
    在 Dart 中符号用 # 开头来表示,入门阶段不需要了解这东西,可能永远也用不上。
    http://dart.goodev.org/guides/libraries/library-tour#dartmirrors---reflection

    Dart数据类型:字符串类型
    
      //1、字符串定义的几种方式
    
      // var str1='this is str1';
      // print(str1);
    
    //换行字符串
      //   String str1="""
      //   this is str1
      //   this is str1
    
      //   this is str1
      //   """;
      //  print(str1);
    
      //2、字符串的拼接
    
      String str1='你好';
    
      String str2='Dart';
    
      // print("$str1 $str2");
      print(str1 + str2);
      print(str1 +" "+ str2);
    
    
    Dart数据类型:数值类型

    int ,double

    void main(){
      //1、int   必须是整型
        int a=123;
        a=45;
        print(a);
      //2、double  既可以是整型 也可是浮点型
        double b=23.5;
        b=24;
        print(b);
      //3、运算符
        // + - * / %
        var c=a+b;
        print(c);
    }
    
    Dart数据类型:布尔类型

    booltrue/false

    void main() {
      //1、bool
      bool flag1 = true;
      print(flag1);
      bool flag2 = false;
      print(flag2);
      //2、条件判断语句
      var flag = true;
      if (flag) {
        print('真');
      } else {
        print('假');
      }
      var a = 123;
      var b = '123';
      if (a == b) {
        print('a=b');
      } else {
        print('a!=b');
      }
      var a = 123;
      var b = 123;
      if (a == b) {
        print('a=b');
      } else {
        print('a!=b');
      }
    }
    
    
    Dart数据类型

    List(数组/集合)

    void main() {
      //1、第一种定义List的方式
    
      var l1 = ["张三", 20, true];
    
      print(l1); //[张三, 20, true]
    
      print(l1.length); //3
    
      print(l1[0]); //张三
    
      print(l1[1]); //20
    
      //2、第二种定义List的方式 指定类型
      var l2 = <String>["张三", "李四"];
      print(l2);
      var l3 = <int>[12, 30];
      print(l3);
    
      //3、第三种定义List的方式  增加数据 ,通过[]创建的集合它的容量可以变化
      var l4 = [];
      print(l4);
      print(l4.length);
    
      l4.add("张三");
      l4.add("李四");
      l4.add(20);
      print(l4);
      print(l4.length);
    
      var l5 = ["张三", 20, true];
      l5.add("李四");
      l5.add("zhaosi");
      print(l5);
    
      //4、第四种定义List的方式
      var l6 = new List(); //在新版本的dart里面没法使用这个方法了
    
      var l6 = List.filled(2, ""); //创建一个固定长度的集合
      print(l6);
      print(l6[0]);
    
      l6[0] = "张三"; //修改集合的内容
      l6[1] = "李四";
    
      print(l6); //[张三, 李四]
    
      l6.add("王五"); //错误写法  通过List.filled创建的集合长度是固定  没法增加数据
    
      //通过List.filled创建的集合长度是固定
      var l6 = List.filled(2, "");
      print(l6.length);
      l6.length = 0; //修改集合的长度   报错
    
      var l7 = <String>["张三", "李四"];
      print(l7.length); //2
      l7.length = 0; //可以改变的
      print(l7); //[]
    
      var l8 = List<String>.filled(2, "");
      l8[0] = "string";
      // l8[0]=222;
      print(l8);
    }
    
    
    Maps(字典)
    void main() {
      //第一种定义 Maps的方式
    
      var person = {
        "name": "张三",
        "age": 20,
        "work": ["程序员", "送外卖"]
      };
    
      print(person);
    
      print(person["name"]);
    
      print(person["age"]);
    
      print(person["work"]);
    
      // 第二种定义 Maps的方式
    
      var p = new Map();
    
      p["name"] = "李四";
      p["age"] = 22;
      p["work"] = ["程序员", "送外卖"];
      print(p);
    
      print(p["age"]);
    }
    
    Dart判断数据类型

    is 关键词来判断类型

    void main() {
      var str = '1234';
    
      if (str is String) {
        print('是string类型');
      } else if (str is int) {
        print('int');
      } else {
        print('其他类型');
      }
    
      var str = 123;
      if (str is String) {
        print('是string类型');
      } else if (str is int) {
        print('int');
      } else {
        print('其他类型');
      }
    }
    

    相关文章

      网友评论

        本文标题:Flutter学习笔记1.1 Dart基础(变量 常量 命名规则

        本文链接:https://www.haomeiwen.com/subject/fogjertx.html