当前位置: 首页 > news >正文

Flutter ☞ 变量

Flutter中,变量分为两种类型

  • 弱类型
  • 强类型

弱类型

var

如果没有初始值,可以变成任何类型

var a;
// var a = ''; // 一旦赋值,就确定类型,不能随意改动
a = 'abc';
a = 123;
a = true;
a = {'key': '123'};
a = ['abc'];print(a)

Object

动态任意类型, 编译阶段检查类型

Object a = '123';
a = 123;
a = [2222];
a.p();

dynamic

动态任意类型,编译接点不检查类型

dynamic a = '123';
a = 123;
a = [1111];
a.p();

比较 vardynamicObject

  • var 如果有初始值,则类型会被锁定

强类型

声明类型

类型声明后,类型会被锁定

String a;
a = '123';
a = 123

常见类型

名称说明
num数字
double浮点
bool布尔
String字符串
StringBuffer字符串 Buffer
DateTime时间日期
Duration时间区间
List数组
Sets集合
Mapskey-value容器
enum枚举
String a = "123";
int i = 123;
double d = 0.12;
bool b = true;
DateTime dt = DateTime.now();
List l = [1, 2, 3, 4];

默认值

变量声明后未确定值的,默认都是 null

var a;
String a;
print(a);
assert(a == null)
assert

assertObjective-C中的函数相同,检查点函数,如果不符合条件直接抛出错误并中止程序进程。只在 Debug 模式下生效。

使用场景

var 简化定义变量

不用明确变量类型

var map = <String, dynamic>{};
map['image'] = image;
map['title'] = title;
map['desc'] = desc;
  • 如果不使用 var ,就要写成 Map<String, dynamic>

查询参数定义

api 查询通用接口封装的时候,我们一般用动态类型。

如一个 api 请求

Future<Response<T>> get<T>(String path, {Map<String, dynamic>? queryParameters,...
})
  • Map<String, dynamic>? queryParameters 查询参数值是动态

返回的实例对象

如分类实例定义

class Category {int id; // 数字 idString name; // 字符串 分类名称String slug;Category({this.id, this.name, this.slug});...
}
  • int id; String name; 明确类型

相关文章:

Flutter ☞ 变量

在Flutter中&#xff0c;变量分为两种类型 弱类型强类型 弱类型 var 如果没有初始值&#xff0c;可以变成任何类型 var a; // var a ; // 一旦赋值&#xff0c;就确定类型&#xff0c;不能随意改动 a abc; a 123; a true; a {key: 123}; a [abc];print(a)Object 动…...

冲刺十五届蓝桥杯P0006平面切分

文章目录 题目思路代码总结 题目 平面切分 思路 这道题是一个思维题把&#xff0c;之前没有接触过平面几何的知识&#xff0c;做起来感觉还是比较难的&#xff0c;用到的set集合和自己创建一个类 首先我们知道&#xff0c;一根直线A是可以将平面切分成两块的&#xff0c;如…...

mac电脑文献管理 EndNote 21最新 for Mac

EndNote 21 Mac版不仅能够快速有效的的帮助用户管理自己的文献&#xff0c;而且还可以用来创建个人参考文献库&#xff0c;添加各种文本&#xff0c;图像&#xff0c;连接&#xff0c;表格等等内容&#xff01; - 搜索数百个在线资源以获取参考和PDF - 只需点击一下即可查找参…...

vue使用pdf-dist实现pdf预览以及水印

vue使用pdf-dist实现pdf预览以及水印 一.使用pdf-dist插件将PDF文件转换为一张张canvas图片 npm install pdf-dist二.页面引入插件 const pdfJS require("pdfjs-dist"); pdfJS.GlobalWorkerOptions.workerSrc require("pdfjs-dist/build/pdf.worker.entry&…...

[Python进阶] 操纵键盘:Pynput

6.7 操纵键盘&#xff1a;Pynput 6.7.1 press、release 按下或释放某个按键。 from pynput.keyboard import Controller, Keykeyboard Controller() # 按下并释放f keyboard.press(f) keyboard.release(f) # 按下组合按键&#xff1a;alt tab keyboard.press(Key.alt) key…...

购药不烦恼:线上购药小程序的快捷方式

在这个数字化时代&#xff0c;线上购药小程序的快捷方式正在改变着我们购药的方式。本文将介绍如何通过使用Python和Flask框架创建一个简单的线上购药小程序的原型&#xff0c;为用户提供购药的便利和快捷体验。 安装和设置 首先&#xff0c;确保你已经安装了Python和Flask。…...

10.17课上(七段显示器,递归异或与电路)

异或的递归与数电实现 用二选一选择器实现异或函数 在异或当中&#xff0c;如果有一项为0&#xff0c;就可以把那一项消掉&#xff1b;如果有一项为1&#xff0c;就是把剩下的所有项运算完的结果取反 &#xff08;由此在算法当中可以采用递归解决&#xff09; 当w1为0时&…...

maven-plugin-shade 详解

一、介绍 [1] This plugin provides the capability to package the artifact in an uber-jar, including its dependencies and to shade - i.e. rename - the packages of some of the dependencies. maven-plugin-shade 插件提供了两个能力&#xff1a; 把整个项目&#xf…...

cocosCreator 之 3.x使用NodePool对象池和封装

版本&#xff1a; cocosCreator 3.4.0 语言&#xff1a; TypeScript 环境&#xff1a; Mac NodePool 在项目中频繁的使用instantiate和node.destory对性能有很大的耗费&#xff0c;比如飞机射击中的子弹使用和销毁。 因此官方提供了NodePool&#xff0c;它被作为管理节点对象…...

三、RestClient操作索引库与文档

文章目录 三、RestClient操作索引库与文档3.1 操作索引库3.2 操作文档结束语 三、RestClient操作索引库与文档 ES官方提供了各种不同语言的客户端&#xff0c;用来操作ES。这些客户端的本质就是组装DSL语句&#xff0c;通过http请求发送给ES。 官方文档地址: https://www.ela…...

Hadoop3教程(五):NameNode和SecondaryNameNode

文章目录 &#xff08;59&#xff09;NN和2NN的工作机制&#xff08;60&#xff09;FsImage镜像文件&#xff08;61&#xff09;Edits编辑日志&#xff08;62&#xff09;Checkpoint时间设置参考文献 &#xff08;59&#xff09;NN和2NN的工作机制 NameNode的数据是存储在磁盘…...

腾讯云我的世界mc服务器多少钱一年?

腾讯云我的世界mc服务器多少钱&#xff1f;95元一年2核2G3M轻量应用服务器、2核4G5M带宽优惠价218元一年、4核8G12M带宽轻量服务器446元一年&#xff0c;云服务器CVM标准型S5实例2核2G优惠价280元一年、2核4G配置服务器748元一年&#xff0c;腾讯云百科txybk.com分享腾讯云我的…...

modelsim实现二选一以及D触发器并仿真

#实验一 二选一 module two_1(in1,in2,cho,out); input[3:0] in1,in2; output[3:0] out; reg[3:0] out; input cho; always* begin if(cho0) outin1; else outin2; end endmodule module two1_test(); …...

直线导轨在喷涂行业中的应用场景

直线导轨因其具有精度高、速度快、刚性强、使用寿命长等特点被广泛应用在各行各种中&#xff0c;其中&#xff0c;在喷涂行业中的应用最为广泛&#xff0c;以下是直线导轨在喷涂行业中的应用场景&#xff1a; 1、平面喷涂&#xff1a;直线导轨可以应用在各种机械加工的平面&…...

纯css+js自制下拉框

前提 因为html的select标签&#xff0c;下拉框自定义程度非常的低&#xff0c;为了贴合而项目ui显示&#xff0c;所以打算自制下拉框 代码 html <div class"pos-rel"><div id"select" class"select get-select"><span class&…...

uniapp在App端如何动态修改原生导航栏?

uniapp在App端如何动态修改原生导航栏&#xff1f; 文章目录 uniapp在App端如何动态修改原生导航栏&#xff1f;page.json配置修改 buttons 文字修改按钮上的角标设置 searchInput的 focus设置 searchInput的 text 在App端可以通过得到 webview 对象&#xff0c;通过当前 webvi…...

Linux:CPUPower管理器 --- cpufreq解析

一、cpufreq是什么&#xff1f; cpufreq是Linux内核下的一种功率管理框架&#xff0c;它负责改变CPU的频率&#xff0c;以降低功耗并延长电池寿命。该框架的主要机制是动态调整CPU频率&#xff0c;该频率受限于CPU的负载和功耗。cpufreq能够动态地将频率降低到最低值或最高值&a…...

【嵌入式开发问答】不是普通的嵌入式八股

1. 进程、线程、堆栈、溢出 【问&#xff1a;】 进程的堆栈的物理内存是什么时候分配的&#xff1f; 堆栈的大小限制是多大&#xff1f;这个限制可以调整吗&#xff1f; 当堆栈发生溢出后应用程序会发生什么&#xff1f; 【答&#xff1a;】...

面试题-springboot篇-SpringBoot的注解

SpringBootApplication是SpringBoot的最核心的注解。 SpringBootApplication注解在SpringBoot的主类上&#xff0c;标识是SpringBoot应用&#xff0c;用来开启SpringBoot的各项能力。由SpringBootConfiguration、EnableAutoConfiguration、ComponentScan三个注解组成。这三个注…...

BaiChuan2保姆级微调范例

前方干货预警&#xff1a;这可能是你能够找到的&#xff0c;最容易理解&#xff0c;最容易跑通的&#xff0c;适用于各种开源LLM模型的&#xff0c;同时支持多轮和单轮对话数据集的大模型高效微调范例。 我们构造了一个修改大模型自我认知的3轮对话的玩具数据集&#xff0c;使用…...

如何永久备份微信聊天记录?WeChatMsg完整解决方案指南

如何永久备份微信聊天记录&#xff1f;WeChatMsg完整解决方案指南 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeCha…...

从ET1100迁移到AX58100:我的EtherCAT从站代码需要重写多少?

从ET1100迁移到AX58100&#xff1a;EtherCAT从站代码重构实战指南 当你的产品线需要从百兆升级到千兆EtherCAT网络&#xff0c;或者要支持时间敏感网络(TSN)功能时&#xff0c;从经典的ET1100切换到AX58100几乎是必然选择。但作为经历过完整迁移周期的开发者&#xff0c;我必须…...

mxbai-embed-large-v1效果展示:超越OpenAI的文本嵌入模型实测

mxbai-embed-large-v1效果展示&#xff1a;超越OpenAI的文本嵌入模型实测 1. 引言&#xff1a;文本嵌入技术的新标杆 在自然语言处理领域&#xff0c;文本嵌入模型正成为各类智能应用的基础设施。mxbai-embed-large-v1作为最新开源的文本嵌入模型&#xff0c;在MTEB基准测试中…...

如何用Planck-Pi实现低成本嵌入式开发?基于F1C200s的全栈方案解析

如何用Planck-Pi实现低成本嵌入式开发&#xff1f;基于F1C200s的全栈方案解析 【免费下载链接】Planck-Pi Super TINY & Low-cost Linux Develop-Kit Based On F1C200s. 项目地址: https://gitcode.com/gh_mirrors/pl/Planck-Pi Planck-Pi作为一款基于全志F1C200s芯…...

FPGA程序部署双通道:JTAG在线调试与SPI Flash固化的工程实践

1. JTAG在线调试&#xff1a;工程师的"手术刀" 第一次用JTAG调试FPGA时&#xff0c;我盯着开发板看了半天——这玩意儿连上电脑就能直接改逻辑&#xff1f;后来才发现它就像给病人做手术时的实时监护仪&#xff0c;能随时观察"患者"状态&#xff0c;但断电…...

Unity Shader UV 坐标与纹理平铺Tiling Offset 深度解析

从 UV 空间的数学本质出发&#xff0c;理解 URP 中纹理坐标的缩放&#xff08;Tiling&#xff09;与偏移&#xff08;Offset&#xff09;控制原理&#xff0c; 并掌握 Shader Graph、HLSL、C# 三种维度的实践技巧。UV 坐标系基础在实时渲染中&#xff0c;UV 坐标是将二维纹理贴…...

SuGaR与NeRF对比分析:为什么高斯泼溅是未来趋势

SuGaR与NeRF对比分析&#xff1a;为什么高斯泼溅是未来趋势 【免费下载链接】SuGaR [CVPR 2024] Official PyTorch implementation of SuGaR: Surface-Aligned Gaussian Splatting for Efficient 3D Mesh Reconstruction and High-Quality Mesh Rendering 项目地址: https://…...

OpenSubdiv高级特性:特征自适应细分与硬件曲面细分

OpenSubdiv高级特性&#xff1a;特征自适应细分与硬件曲面细分 【免费下载链接】OpenSubdiv An Open-Source subdivision surface library. 项目地址: https://gitcode.com/gh_mirrors/op/OpenSubdiv OpenSubdiv是一款强大的开源细分曲面库&#xff0c;为3D建模和动画提…...

墨语灵犀对比传统方法:自动化作业批改效果实测

墨语灵犀对比传统方法&#xff1a;自动化作业批改效果实测 作为一名在教育技术领域摸爬滚打了多年的从业者&#xff0c;我见过太多关于“AI批改作业”的讨论。从最初的简单关键词匹配&#xff0c;到后来的规则引擎&#xff0c;每次技术迭代都让人充满期待&#xff0c;但实际落…...

Netty实战:从零搭建一个高性能聊天室(附完整源码)

Netty实战&#xff1a;从零构建高性能聊天室的架构设计与实现 引言&#xff1a;为什么选择Netty构建实时通讯系统&#xff1f; 当我们需要开发一个支持高并发的实时聊天应用时&#xff0c;传统IO模型往往会遇到性能瓶颈。我曾参与过一个在线教育平台的即时通讯模块开发&#xf…...