-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
235 lines (205 loc) · 37.8 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"><title>会飞的猪</title><meta name="author" content="Less"><meta name="copyright" content="Less"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description"><link rel="shortcut icon" href="/img/favicon.png"><link rel="canonical" href="http://example.com/index.html"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//fonts.googleapis.com" crossorigin=""/><link rel="preconnect" href="//busuanzi.ibruce.info"/><meta/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Titillium+Web&display=swap" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: undefined,
translate: undefined,
noticeOutdate: undefined,
highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
copy: {
success: '复制成功',
error: '复制错误',
noSupport: '浏览器不支持'
},
relativeDate: {
homepage: false,
post: false
},
runtime: '天',
date_suffix: {
just: '刚刚',
min: '分钟前',
hour: '小时前',
day: '天前',
month: '个月前'
},
copyright: undefined,
lightbox: 'fancybox',
Snackbar: undefined,
source: {
justifiedGallery: {
js: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.js',
css: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.css'
}
},
isPhotoFigcaption: true,
islazyload: false,
isAnchor: false,
percent: {
toc: true,
rightside: false,
}
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: '会飞的猪',
isPost: false,
isHome: true,
isHighlightShrink: undefined,
isToc: false,
postUpdate: '2023-10-19 17:21:16'
}</script><noscript><style type="text/css">
#nav {
opacity: 1
}
.justified-gallery img {
opacity: 1
}
#recent-posts time,
#post-meta time {
display: inline !important
}
</style></noscript><script>(win=>{
win.saveToLocal = {
set: function setWithExpiry(key, value, ttl) {
if (ttl === 0) return
const now = new Date()
const expiryDay = ttl * 86400000
const item = {
value: value,
expiry: now.getTime() + expiryDay,
}
localStorage.setItem(key, JSON.stringify(item))
},
get: function getWithExpiry(key) {
const itemStr = localStorage.getItem(key)
if (!itemStr) {
return undefined
}
const item = JSON.parse(itemStr)
const now = new Date()
if (now.getTime() > item.expiry) {
localStorage.removeItem(key)
return undefined
}
return item.value
}
}
win.getScript = url => new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = url
script.async = true
script.onerror = reject
script.onload = script.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
script.onload = script.onreadystatechange = null
resolve()
}
document.head.appendChild(script)
})
win.getCSS = url => new Promise((resolve, reject) => {
const link = document.createElement('link')
link.rel = 'stylesheet'
link.href = url
link.onload = () => resolve()
link.onerror = () => reject()
document.head.appendChild(link)
})
win.activateDarkMode = function () {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
}
}
win.activateLightMode = function () {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
}
}
const t = saveToLocal.get('theme')
if (t === 'dark') activateDarkMode()
else if (t === 'light') activateLightMode()
const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
if (asideStatus === 'hide') {
document.documentElement.classList.add('hide-aside')
} else {
document.documentElement.classList.remove('hide-aside')
}
}
const detectApple = () => {
if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
document.documentElement.classList.add('apple')
}
}
detectApple()
})(window)</script><meta name="generator" content="Hexo 6.2.0"></head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="https://b-img-storage.oss-cn-hangzhou.aliyuncs.com/blog/wallpaper_4.jpeg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">14</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">1</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">4</div></a></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 便签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page group" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> 清单</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/music/"><i class="fa-fw fas fa-music"></i><span> 音乐</span></a></li><li><a class="site-page child" href="/picture/"><i class="fa-fw fas fa-images"></i><span> 照片</span></a></li><li><a class="site-page child" href="/movies/"><i class="fa-fw fas fa-video"></i><span> 视频</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background-image: url('https://b-img-storage.oss-cn-hangzhou.aliyuncs.com/blog/wallpaper_1.jpeg')"><nav id="nav"><span id="blog-info"><a href="/" title="会飞的猪"><span class="site-name">会飞的猪</span></a></span><div id="menus"><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 便签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page group" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> 清单</span><i class="fas fa-chevron-down"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/music/"><i class="fa-fw fas fa-music"></i><span> 音乐</span></a></li><li><a class="site-page child" href="/picture/"><i class="fa-fw fas fa-images"></i><span> 照片</span></a></li><li><a class="site-page child" href="/movies/"><i class="fa-fw fas fa-video"></i><span> 视频</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div><div id="toggle-menu"><a class="site-page" href="javascript:void(0);"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">会飞的猪</h1><div id="site-subtitle"><span id="subtitle"></span></div></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2023/10/19/user-policy/" title="用户协议">用户协议</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-10-19T08:01:21.000Z" title="发表于 2023-10-19 16:01:21">2023-10-19</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/about/">about</a></span></div><div class="content">用户协议轻账本的所有权和运作权归轻账本创作经营者所有。在本服务条款中简称 “轻账本”及有时称为“我们”。使用轻账本产品及服务将视为您同意以下使用条款。
1、仅供个人使用轻账本仅供用户个人用于非商业用途。如果要销售轻账本或者与轻账本有关或派生的任何资料、服务或软件,则必须得到我们的允许。如果用户对轻账本有任何意见,或有如何改进的建议,可向我们提出。请注意,如果这样做,还会授予轻账本和第三方在轻账本(或第三方软件)中无偿使用和加入用户的建议或意见的权利。
2、知识产权用户承认轻账本创作经营者拥有对轻账本的所有权利,包括但不限于所有知识产权。“知识产权”指在专利法、版权法、商业机密法、商标法、反不正当竞争法等法中规定的所有权利以及其中的所有应用、更新、扩展和恢复,无论在现在还是以后在全球范围内实施和生效。用户同意不会修改、改编、翻译轻账本、创作轻账本的派生作品、通过反编译、反向工程、反汇编或其它方式从轻账本得到源代码。用户同意不会删除、掩盖或更改我们或任何第三方的版权声明、商标或其它所有权声明。
3、用户隐私制度尊重用户个人隐私是我们的一项基本政策。所以,我们一般不会公开、编辑或透露用户的注 ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2023/10/19/privacy-policy/" title="隐私协议">隐私协议</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-10-19T08:01:21.000Z" title="发表于 2023-10-19 16:01:21">2023-10-19</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/about/">about</a></span></div><div class="content">隐私协议本应用尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息。但本应用将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本应用不会将这些信息对外披露或向第三方提供。本应用会不时更新本隐私权政策。 您在同意本应用服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于本应用服务使用协议不可分割的一部分。
1、适用范围(A) 在您注册本应用帐号时,您根据本应用要求提供的个人注册信息。
(B) 在您使用本应用网络服务,或访问本应用平台网页时,本应用自动接收并记录的您的浏览器和计算机上的信息,包括但不限于您的IP地址、浏览器的类型、使用的语言、访问日期和时间、软硬件特征信息及您需求的网页记录等数据;
(C) 本应用通过合法途径从商业伙伴处取得的用户个人数据。
您了解并同意,以下信息不适用本隐私权政策:
(A) 您在使用本应用平台提供的搜索服务时输入的关键字信息;
(B) 本应用收集到的您在本应用发布的有关信息数据,包括但不限于参与活动、成交信息及评价详情 ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/2023/02/27/Flutter%E5%B0%8F%E9%83%A8%E4%BB%B6OutlinedButton/" title="Flutter小部件OutlinedButton"><img class="post-bg" src="https://b-img-storage.oss-cn-hangzhou.aliyuncs.com/blog/wallpaper_17.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Flutter小部件OutlinedButton"></a></div><div class="recent-post-info"><a class="article-title" href="/2023/02/27/Flutter%E5%B0%8F%E9%83%A8%E4%BB%B6OutlinedButton/" title="Flutter小部件OutlinedButton">Flutter小部件OutlinedButton</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-02-27T13:56:18.000Z" title="发表于 2023-02-27 21:56:18">2023-02-27</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/flutter/">flutter</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0%E6%97%A5%E8%AE%B0/">学习日记</a></span></div><div class="content">OutlinedButton 构造方法及属性12345678910111213const OutlinedButton({ super.key, required super.onPressed, super.onLongPress, super.onHover, super.onFocusChange, super.style, super.focusNode, super.autofocus = false, super.clipBehavior = Clip.none, super.statesController, required super.child,});
123456789101112factory OutlinedButton.icon({ Key? key, required VoidCallback? onPressed, VoidCallback? onLongPress, ButtonStyle? style, FocusNode? focusNode, bool? autofocus, C ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2023/02/20/Flutter%E5%B0%8F%E9%83%A8%E4%BB%B6FilledButton/" title="Flutter小部件FilledButton"><img class="post-bg" src="https://b-img-storage.oss-cn-hangzhou.aliyuncs.com/blog/wallpaper_16.jpeg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Flutter小部件FilledButton"></a></div><div class="recent-post-info"><a class="article-title" href="/2023/02/20/Flutter%E5%B0%8F%E9%83%A8%E4%BB%B6FilledButton/" title="Flutter小部件FilledButton">Flutter小部件FilledButton</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-02-20T15:04:38.000Z" title="发表于 2023-02-20 23:04:38">2023-02-20</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/flutter/">flutter</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0%E6%97%A5%E8%AE%B0/">学习日记</a></span></div><div class="content">FilledButton 构造方法及属性12345678910111213const FilledButton({ super.key, required super.onPressed, super.onLongPress, super.onHover, super.onFocusChange, super.style, super.focusNode, super.autofocus = false, super.clipBehavior = Clip.none, super.statesController, required super.child,}) : _variant = _FilledButtonVariant.filled;
1234567891011121314factory FilledButton.icon({ Key? key, required VoidCallback? onPressed, VoidCallback? onLongPress, ValueChanged<bool&g ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/2023/02/15/Flutter%E5%B0%8F%E9%83%A8%E4%BB%B6ElevatedButton/" title="Flutter小部件ElevatedButton"><img class="post-bg" src="https://b-img-storage.oss-cn-hangzhou.aliyuncs.com/blog/wallpaper_15.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Flutter小部件ElevatedButton"></a></div><div class="recent-post-info"><a class="article-title" href="/2023/02/15/Flutter%E5%B0%8F%E9%83%A8%E4%BB%B6ElevatedButton/" title="Flutter小部件ElevatedButton">Flutter小部件ElevatedButton</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-02-15T15:18:43.000Z" title="发表于 2023-02-15 23:18:43">2023-02-15</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/flutter/">flutter</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0%E6%97%A5%E8%AE%B0/">学习日记</a></span></div><div class="content">ElevatedButton 构造方法及属性12345678910111213141516/// Create an ElevatedButtonconst ElevatedButton({ super.key, required super.onPressed, super.onLongPress, super.onHover, super.onFocusChange, super.style, super.focusNode, super.autofocus = false, super.clipBehavior = Clip.none, super.statesController, required super.child,});
123456789101112131415161718192021/// Create an elevated button from a pair of widgets that serve as the button's/// 图标和标签排成一行,并由12个逻辑像素填充/// 开始是16, ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2023/02/13/Flutter%E5%B0%8F%E9%83%A8%E4%BB%B6Text/" title="Flutter小部件Text"><img class="post-bg" src="https://b-img-storage.oss-cn-hangzhou.aliyuncs.com/blog/wallpaper_14.jpeg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Flutter小部件Text"></a></div><div class="recent-post-info"><a class="article-title" href="/2023/02/13/Flutter%E5%B0%8F%E9%83%A8%E4%BB%B6Text/" title="Flutter小部件Text">Flutter小部件Text</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-02-13T08:26:34.000Z" title="发表于 2023-02-13 16:26:34">2023-02-13</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/flutter/">flutter</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0%E6%97%A5%E8%AE%B0/">学习日记</a></span></div><div class="content">Text 构造方法及属性12345678910111213141516171819202122/// Creates a text widget. const Text( String this.data, { super.key, this.style, this.strutStyle, this.textAlign, this.textDirection, this.locale, this.softWrap, this.overflow, this.textScaleFactor, this.maxLines, this.semanticsLabel, this.textWidthBasis, this.textHeightBehavior, this.selectionColor, }) : assert( data != null, 'A non-null String must be provided to a Text ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/2023/02/10/Dart%E6%B3%9B%E5%9E%8B/" title="Dart泛型"><img class="post-bg" src="https://b-img-storage.oss-cn-hangzhou.aliyuncs.com/blog/wallpaper_13.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Dart泛型"></a></div><div class="recent-post-info"><a class="article-title" href="/2023/02/10/Dart%E6%B3%9B%E5%9E%8B/" title="Dart泛型">Dart泛型</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-02-10T09:05:56.000Z" title="发表于 2023-02-10 17:05:56">2023-02-10</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/dart/">dart</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0%E6%97%A5%E8%AE%B0/">学习日记</a></span></div><div class="content">1234567891011121314151617181920212223// 泛型常用于需要类型安全的情况。// 适当的指定泛型可以更好地帮助代码生成。// 使用泛型可以减少代码重复。var names = <String>[];names.addAll(['11', '22']);// names.add(2); The argument type 'int' can't be assigned to the parameter type 'String'// 减少代码重复abstract class ObjectCache { Object getByKey(String key); void setByKey(String key, Object value);}abstract class StringCache { String getByKey(String, key); void setByKey(String key, Strin ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2023/02/08/Dart%E7%B1%BB/" title="Dart类"><img class="post-bg" src="https://b-img-storage.oss-cn-hangzhou.aliyuncs.com/blog/wallpaper_10.jpeg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Dart类"></a></div><div class="recent-post-info"><a class="article-title" href="/2023/02/08/Dart%E7%B1%BB/" title="Dart类">Dart类</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-02-08T03:00:02.000Z" title="发表于 2023-02-08 11:00:02">2023-02-08</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/dart/">dart</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0%E6%97%A5%E8%AE%B0/">学习日记</a></span></div><div class="content">Dart 是支持基于 mixin 继承机制的面向对象语言,所有对象都是一个类的实例,而除了 Null 以外的所有的类都继承自 Object 类。基于 mixin 的继承 意味着尽管每个类 (top class Object? 除外) 都有一个超类,一个类的代码可以在其他多个类继承中重复使用。扩展方法 是一种在不更改类或创建子类的情况下向类添加功能的方式。
类的成员
对象的成员由函数和数据 (即 方法 和 实例变量)组成。方法的调用要通过对象来完成,这种方式可以访问对象的函数和数据。
使用 (.)来访问对象的实例变量
1234var p = Point(2, 2);assert(p.y == 2);double distance = p.distanceTo(Point(4, 4));
使用 ?. 代替 . 可以避免因为左边表达式为 null 而导致的问题
1var a = p?.y;
对象的类型12345// 可以使用 Object 对象的 runtimeType 属性在运行时获取一个对象的类型。var a = const ImmutablePoint(0, 0);// pr ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/2023/02/06/Dart%E5%BC%82%E6%AD%A5%E7%BC%96%E7%A8%8B/" title="异步编程"><img class="post-bg" src="https://b-img-storage.oss-cn-hangzhou.aliyuncs.com/blog/wallpaper_8.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="异步编程"></a></div><div class="recent-post-info"><a class="article-title" href="/2023/02/06/Dart%E5%BC%82%E6%AD%A5%E7%BC%96%E7%A8%8B/" title="异步编程">异步编程</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-02-06T02:06:18.000Z" title="发表于 2023-02-06 10:06:18">2023-02-06</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/dart/">dart</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0%E6%97%A5%E8%AE%B0/">学习日记</a></span></div><div class="content">
Dart 代码库中有大量返回 Future 或 Stream 对象的函数,这些函数都是 异步的,它们会在耗时操作(比如I/O)执行完毕前直接返回而不会等待耗时操作执行完毕。
async 和 await 关键字用于实现异步编程,并且让代码看起来就像是同步一样。
处理Future123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990// 可以通过两种方式,获得 Future 执行完成的结果。// 1. 使用 async 和 await// 2. 使用 Future API// 使用 async 和 await 的代码是异步的, 下列代码使用 await 等待异步函数的执行结果。void main() { print("Hello World0"); check ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/2023/02/05/Dart%E5%87%BD%E6%95%B0/" title="Dart函数"><img class="post-bg" src="https://b-img-storage.oss-cn-hangzhou.aliyuncs.com/blog/wallpaper_7.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Dart函数"></a></div><div class="recent-post-info"><a class="article-title" href="/2023/02/05/Dart%E5%87%BD%E6%95%B0/" title="Dart函数">Dart函数</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-02-05T06:14:32.000Z" title="发表于 2023-02-05 14:14:32">2023-02-05</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/dart/">dart</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0%E6%97%A5%E8%AE%B0/">学习日记</a></span></div><div class="content">main 函数1234// 每个应用程序都必须有一个顶层 main 函数 // flutter 的入口函数void main() => runApp(MyApp());
函数餐宿
可选参数
1234567891011// 可选命名函数,可以不传这些参数// 如果一个参数是可选的,但是不能为 null,你需要为它提供一个 默认值。userSettings();// null// nullvoid userSettings({String? page, String? str}) { print(page); print(str);}
必传参数
1234567891011// 必传参数 可以用 required 修饰。 // 使用 required 有利于静态代码分析器进行检查userSettings(page: 1, str: "2");// 1// 2void userSettings({required int page, required String str}) { ...</div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span><a class="page-number" href="/page/2/#content-inner">2</a><a class="extend next" rel="next" href="/page/2/#content-inner"><i class="fas fa-chevron-right fa-fw"></i></a></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="https://b-img-storage.oss-cn-hangzhou.aliyuncs.com/blog/wallpaper_4.jpeg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">Less</div><div class="author-info__description"></div></div><div class="card-info-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">14</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">1</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">4</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/xxxxxx"><i class="fab fa-github"></i><span>Follow Me</span></a></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>公告</span></div><div class="announcement_content">This is my Blog</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2023/10/19/user-policy/" title="用户协议">用户协议</a><time datetime="2023-10-19T08:01:21.000Z" title="发表于 2023-10-19 16:01:21">2023-10-19</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2023/10/19/privacy-policy/" title="隐私协议">隐私协议</a><time datetime="2023-10-19T08:01:21.000Z" title="发表于 2023-10-19 16:01:21">2023-10-19</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2023/02/27/Flutter%E5%B0%8F%E9%83%A8%E4%BB%B6OutlinedButton/" title="Flutter小部件OutlinedButton"><img src="https://b-img-storage.oss-cn-hangzhou.aliyuncs.com/blog/wallpaper_17.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Flutter小部件OutlinedButton"/></a><div class="content"><a class="title" href="/2023/02/27/Flutter%E5%B0%8F%E9%83%A8%E4%BB%B6OutlinedButton/" title="Flutter小部件OutlinedButton">Flutter小部件OutlinedButton</a><time datetime="2023-02-27T13:56:18.000Z" title="发表于 2023-02-27 21:56:18">2023-02-27</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2023/02/20/Flutter%E5%B0%8F%E9%83%A8%E4%BB%B6FilledButton/" title="Flutter小部件FilledButton"><img src="https://b-img-storage.oss-cn-hangzhou.aliyuncs.com/blog/wallpaper_16.jpeg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Flutter小部件FilledButton"/></a><div class="content"><a class="title" href="/2023/02/20/Flutter%E5%B0%8F%E9%83%A8%E4%BB%B6FilledButton/" title="Flutter小部件FilledButton">Flutter小部件FilledButton</a><time datetime="2023-02-20T15:04:38.000Z" title="发表于 2023-02-20 23:04:38">2023-02-20</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2023/02/15/Flutter%E5%B0%8F%E9%83%A8%E4%BB%B6ElevatedButton/" title="Flutter小部件ElevatedButton"><img src="https://b-img-storage.oss-cn-hangzhou.aliyuncs.com/blog/wallpaper_15.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Flutter小部件ElevatedButton"/></a><div class="content"><a class="title" href="/2023/02/15/Flutter%E5%B0%8F%E9%83%A8%E4%BB%B6ElevatedButton/" title="Flutter小部件ElevatedButton">Flutter小部件ElevatedButton</a><time datetime="2023-02-15T15:18:43.000Z" title="发表于 2023-02-15 23:18:43">2023-02-15</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
<i class="fas fa-folder-open"></i>
<span>分类</span>
</div>
<ul class="card-category-list" id="aside-cat-list">
<li class="card-category-list-item "><a class="card-category-list-link" href="/categories/about/"><span class="card-category-list-name">about</span><span class="card-category-list-count">2</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/dart/"><span class="card-category-list-name">dart</span><span class="card-category-list-count">7</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/flutter/"><span class="card-category-list-name">flutter</span><span class="card-category-list-count">4</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/hexo/"><span class="card-category-list-name">hexo</span><span class="card-category-list-count">1</span></a></li>
</ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/tags/%E5%AD%A6%E4%B9%A0%E6%97%A5%E8%AE%B0/" style="font-size: 1.1em; color: #999">学习日记</a></div></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>网站资讯</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">文章数目 :</div><div class="item-count">14</div></div><div class="webinfo-item"><div class="item-name">已运行时间 :</div><div class="item-count" id="runtimeshow" data-publishDate="2022-08-24T16:00:00.000Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">本站总字数 :</div><div class="item-count">12.3k</div></div><div class="webinfo-item"><div class="item-name">本站访客数 :</div><div class="item-count" id="busuanzi_value_site_uv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">本站总访问量 :</div><div class="item-count" id="busuanzi_value_site_pv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2023-10-19T09:21:15.911Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer" style="background-image: url('https://b-img-storage.oss-cn-hangzhou.aliyuncs.com/blog/wallpaper_1.jpeg')"><div id="footer-wrap"><div class="copyright">©2020 - 2023 By Less</div><div class="footer_custom_text">I wish you to become your own sun, no need to rely on who's light.<p><a target="_blank" href="https://hexo.io/"><img src="https://img.shields.io/badge/Frame-Hexo-blue?style=flat&logo=hexo" title="博客框架为Hexo"></a> <a target="_blank" href="https://butterfly.js.org/"><img src="https://img.shields.io/badge/Theme-Butterfly-6513df?style=flat&logo=bitdefender" title="主题采用butterfly"></a> <a target="_blank" href="https://www.jsdelivr.com/"><img src="https://img.shields.io/badge/CDN-jsDelivr-orange?style=flat&logo=jsDelivr" title="本站使用JsDelivr为静态资源提供CDN加速"></a> <a target="_blank" href="https://vercel.com/ "><img src="https://img.shields.io/badge/Hosted-Vervel-brightgreen?style=flat&logo=Vercel" title="本站采用双线部署,默认线路托管于Vercel"></a> <a target="_blank" href="https://vercel.com/ "><img src="https://img.shields.io/badge/Hosted-Coding-0cedbe?style=flat&logo=Codio" title="本站采用双线部署,联通线路托管于Coding"></a> <a target="_blank" href="https://github.com/"><img src="https://img.shields.io/badge/Source-Github-d021d6?style=flat&logo=GitHub" title="本站项目由Gtihub托管"></a> <a target="_blank" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img src="https://img.shields.io/badge/Copyright-BY--NC--SA%204.0-d42328?style=flat&logo=Claris" title="本站采用知识共享署名-非商业性使用-相同方式共享4.0国际许可协议进行许可"></a></p></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button id="chat_btn" type="button" title="聊天"><i class="fas fa-sms"></i></button><button id="go-up" type="button" title="回到顶部"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.umd.min.js"></script><div class="js-pjax"><script>window.typedJSFn = {
init: (str) => {
window.typed = new Typed('#subtitle', Object.assign({
strings: str,
startDelay: 300,
typeSpeed: 150,
loop: true,
backSpeed: 50,
}, null))
},
run: (subtitleType) => {
if (true) {
if (typeof Typed === 'function') {
subtitleType()
} else {
getScript('https://cdn.jsdelivr.net/npm/typed.js/lib/typed.min.js').then(subtitleType)
}
} else {
subtitleType()
}
}
}
</script><script>function subtitleType () {
fetch('https://v1.hitokoto.cn')
.then(response => response.json())
.then(data => {
if (true) {
const from = '出自 ' + data.from
const sub = ["NO NO NO"]
sub.unshift(data.hitokoto, from)
typedJSFn.init(sub)
} else {
document.getElementById('subtitle').innerHTML = data.hitokoto
}
})
}
typedJSFn.run(subtitleType)
</script></div><script defer="defer" id="ribbon" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/canvas-ribbon.min.js" size="150" alpha="0.6" zIndex="-1" mobile="false" data-click="true"></script><script id="click-heart" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/click-heart.min.js" async="async" mobile="false"></script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>