<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dart &#8211; 张三太爷</title>
	<atom:link href="https://www.somedoc.net/tag/dart/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.somedoc.net</link>
	<description>看前面，黑洞洞</description>
	<lastBuildDate>Mon, 31 Aug 2020 08:51:23 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>

<image>
	<url>https://www.somedoc.net/wp-content/uploads/2016/12/cropped-dandycheung-1-32x32.jpg</url>
	<title>Dart &#8211; 张三太爷</title>
	<link>https://www.somedoc.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Dart 语言的几个小点</title>
		<link>https://www.somedoc.net/2020/08/31/dart-%e8%af%ad%e8%a8%80%e7%9a%84%e5%87%a0%e4%b8%aa%e5%b0%8f%e7%82%b9/</link>
					<comments>https://www.somedoc.net/2020/08/31/dart-%e8%af%ad%e8%a8%80%e7%9a%84%e5%87%a0%e4%b8%aa%e5%b0%8f%e7%82%b9/#respond</comments>
		
		<dc:creator><![CDATA[张三太爷]]></dc:creator>
		<pubDate>Mon, 31 Aug 2020 08:51:23 +0000</pubDate>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Dart]]></category>
		<guid isPermaLink="false">https://www.somedoc.net/?p=4608</guid>

					<description><![CDATA[最近在学习 Flutter 开发，接触到了 Dart。发现这 <a href="https://www.somedoc.net/2020/08/31/dart-%e8%af%ad%e8%a8%80%e7%9a%84%e5%87%a0%e4%b8%aa%e5%b0%8f%e7%82%b9/" class="more-link">[&#8230;]</a>]]></description>
										<content:encoded><![CDATA[<p>最近在学习 Flutter 开发，接触到了 Dart。发现这个语言其实挺有意思，简直和 Go 要一起成为我比较喜欢的后起之秀了（Swift 和 Kotlin就不是）。</p>
<p>在看别人的代码时候，有几个特有的运算符号会引起困惑，在这儿记录一下。刚刚入门，且不系统，只是自己的理解，看官请勿作为权威解读。</p>
<ol>
<li><code>??</code>。这个运算符是作为 <code>?:</code> 三元运算符的简便形式存在的，<code>z = x ? x : y</code> 的等价写法为 <code>z = x ?? y</code>。其实我个人认为直接选用 <code>?:</code> 就最好了，当然双问号也没什么不好，有点双竖线的感觉；</li>
<li><code>??=</code>。左值不为假的话，执行赋值操作；</li>
<li><code>?.</code>。左侧对象非空的话，引用其成员；</li>
<li><code>..</code>。链式引用左侧对象。不知道从什么时候开始，有个本人不太喜欢的写法开始在一部分程序员中间流行开来，就是链式调用，在 Java 里可以这样写 <code>bitmap.loadFrom(Sourcefile).convertTo(BITMAP.png).saveTo(targetFile)</code>；当然 C++ 也可以。这种写法比较蛋疼的就是调用链上的各个函数，其返回值都必须是 <code>this</code>。Dart 里在语言层面对此作了支持，把 <code>.</code> 换成 <code>..</code>即可，勿须注意所调用函数的返回值；可以参考理解为 Pascal 语言里的 <code>with</code> 关键字。之所以要指明 Pascal，是因为 Dart 里有对 <code>with</code> 的不同用法……</li>
</ol>
<p>在工具类里，我还看到有具名构造函数取名为 <code>_</code> 的，但是 <code>_</code> 在 Dart 命名规则里又是表示不暴露（可以理解为约等于 private）的含义，目前尚未有清晰答案。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.somedoc.net/2020/08/31/dart-%e8%af%ad%e8%a8%80%e7%9a%84%e5%87%a0%e4%b8%aa%e5%b0%8f%e7%82%b9/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
