Dart学习笔记

A Tour Of Dart

在macOS上搭建Dart/Flutter环境

在Flutter官网下载SDK

将SDK中的bin目录添加到system path

执行flutter doctor看查本地环境,如果此前没有配置过安卓开发环境的话,此时会提示缺少android command line tools,这里我通过Android Studio来进行安装

安装Android Studio后,进入后会提示安装部分组件,勾选Android Command Line Tools进行安装,如果这里错过了,可以在Preference进行安装。如下图所示,记住上方的Android SDK location。

安装完成后,将安装SDK location添加到环境变量ANDROID_HOME,可以将配置写入.zshrc

1
2
export ANDROID_HOME="/Users/***/Library/Android/sdk"
export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools:$PATH"

然后执行source ~/.zshrc,再执行flutter doctor,可以看到要求接受android licenses

运行flutter doctor --android-licenses,一路按y接受

此时flutter全部的配置基本就完成了

如果要在neovim中进行代码补全,推荐安装coc.nvim插件,同时执行:CocInstall coc-flutter

两个有关flutter的coc.nvim扩展:

coc-flutter

coc-flutter-tools

Important Concepts

  • Dart中所有的变量都是对象,并且是一个类的实例,包括数字、函数和null,除了null,所有对象都继承自Object

  • Dart是强类型语言,但是var可以推导变量类型

  • null safety开启后,变量不会包含null,使用int?声明变量可以使得变量可为null,在赋值的字面量后添加!可以保证变量不为null

    1
    2
    
    int? NullableNumber = 3;
    int  unNullableNumber = 3!;
  • Object可以用来作为范型的模版

  • Dart的函数可以不依赖任何class,top-level

  • Dart的变量也是top-level的,top-level我的理解的话就是不像Java那种需要将函数和变量和类进行强行绑定

  • Dart不使用public、protected、private来修饰变量,使用下划线来进行修饰

  • Dart包含warnings和errors机制,errors主要在编译时和运行时

Variables

0%