This commit is contained in:
chai2010
2015-12-21 12:55:18 +08:00
parent 1d7534e3c3
commit 7ec2f7cdc1
152 changed files with 54426 additions and 8958 deletions

View File

@@ -48,7 +48,7 @@
<body>
<div class="book" data-level="0.1" data-chapter-title="Go語言起源" data-filepath="ch0/ch0-01.md" data-basepath=".." data-revision="Wed Dec 16 2015 10:54:29 GMT+0800 (中国标准时间)">
<div class="book" data-level="0.1" data-chapter-title="Go語言起源" data-filepath="ch0/ch0-01.md" data-basepath=".." data-revision="Mon Dec 21 2015 12:51:02 GMT+0800 (中国标准时间)">
<div class="book-summary">
@@ -146,7 +146,7 @@
<b>0.5.</b>
</a>
@@ -212,7 +212,7 @@
<b>1.3.</b>
査找重的行
査找重的行
</a>
@@ -227,7 +227,7 @@
<b>1.4.</b>
GIF動
GIF動
</a>
@@ -257,7 +257,7 @@
<b>1.6.</b>
穫取多個URL
穫取多個URL
</a>
@@ -479,7 +479,7 @@
<b>3.3.</b>
</a>
@@ -494,7 +494,7 @@
<b>3.4.</b>
爾型
爾型
</a>
@@ -544,7 +544,7 @@
<b>4.</b>
復閤數據類型
複合數據類型
</a>
@@ -857,7 +857,7 @@
<b>6.2.</b>
基於指對象的方法
基於指對象的方法
</a>
@@ -887,7 +887,7 @@
<b>6.4.</b>
方法值和方法達式
方法值和方法達式
</a>
@@ -953,7 +953,7 @@
<b>7.1.</b>
接口是
接口是
</a>
@@ -1073,7 +1073,7 @@
<b>7.9.</b>
示例: 達式求值
示例: 達式求值
</a>
@@ -1103,7 +1103,7 @@
<b>7.11.</b>
基於類型斷言識錯誤類型
基於類型斷言識錯誤類型
</a>
@@ -1214,7 +1214,7 @@
<b>8.2.</b>
示例: 併的Clock服務
示例: 併的Clock服務
</a>
@@ -1229,7 +1229,7 @@
<b>8.3.</b>
示例: 併的Echo服務
示例: 併的Echo服務
</a>
@@ -1274,7 +1274,7 @@
<b>8.6.</b>
示例: 併的Web爬蟲
示例: 併的Web爬蟲
</a>
@@ -1289,7 +1289,7 @@
<b>8.7.</b>
基於select的多路
基於select的多路
</a>
@@ -1304,7 +1304,7 @@
<b>8.8.</b>
示例: 併的字典遍歷
示例: 併的字典遍歷
</a>
@@ -1319,7 +1319,7 @@
<b>8.9.</b>
的退齣
的退齣
</a>
@@ -1354,7 +1354,7 @@
<b>9.</b>
基於共享變量的併
基於共享變量的併
</a>
@@ -1415,7 +1415,7 @@
<b>9.4.</b>
內存
內存
</a>
@@ -1460,7 +1460,7 @@
<b>9.7.</b>
示例: 併的非阻塞緩存
示例: 併的非阻塞緩存
</a>
@@ -1475,7 +1475,7 @@
<b>9.8.</b>
Goroutines和
Goroutines和
</a>
@@ -1748,7 +1748,7 @@
<b>12.1.</b>
何需要反射?
何需要反射?
</a>
@@ -1793,7 +1793,7 @@
<b>12.4.</b>
示例: 編碼S達式
示例: 編碼S達式
</a>
@@ -1823,7 +1823,7 @@
<b>12.6.</b>
示例: 解碼S達式
示例: 解碼S達式
</a>
@@ -1975,50 +1975,14 @@
</li>
<li class="chapter " data-level="14" data-path="exercise/ex.html">
<a href="../exercise/ex.html">
<i class="fa fa-check"></i>
<b>14.</b>
習題解答
</a>
<ul class="articles">
<li class="chapter " data-level="14.1" data-path="exercise/ex-ch1.html">
<a href="../exercise/ex-ch1.html">
<i class="fa fa-check"></i>
<b>14.1.</b>
第一章 入門
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="15" data-path="errata.html">
<li class="chapter " data-level="14" data-path="errata.html">
<a href="../errata.html">
<i class="fa fa-check"></i>
<b>15.</b>
<b>14.</b>
勘誤
</a>
@@ -2060,16 +2024,16 @@
<section class="normal" id="section-">
<h2 id="go&#x8A9E;&#x8A00;&#x8D77;&#x6E90;">Go&#x8A9E;&#x8A00;&#x8D77;&#x6E90;</h2>
<p>&#x5C31;&#x50CF;&#x751F;&#x7269;&#x7269;&#x7A2E;, &#x4E00;&#x500B;&#x6210;&#x529F;&#x7684;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;&#x7684;&#x5F8C;&#x4EE3;&#x4E00;&#x822C;&#x90FD;&#x6703;&#x7E7C;&#x627F;&#x5B83;&#x5011;&#x7956;&#x5148;&#x7684;&#x512A;&#x9EDE;; &#x7576;&#x7136;&#x6709;&#x6642;&#x591A;&#x7A2E;&#x8A9E;&#x8A00;&#x6DF7;&#x95A4;&#x4E5F;&#x6703;&#x7522;&#x751F;&#x4EE4;&#x4EBA;&#x9A5A;&#x8A1D;&#x7684;&#x7279;&#x6027;; &#x9084;&#x6709;&#x4E00;&#x4E9B;&#x6FC0;&#x9032;&#x7684;&#x65B0;&#x7279;&#x6027;&#x53EF;&#x80FD;&#x4F75;&#x6C92;&#x6709;&#x5148;&#x4F8B;. &#x6211;&#x5011;&#x53EF;&#x4EE5;&#x901A;&#x904E;&#x89C0;&#x5BDF;&#x8A9E;&#x8A00;&#x7684;&#x548C;&#x74B0;&#x5883;&#x662F;&#x5982;&#x4F55;&#x76F8;&#x4E92;&#x4FC3;&#x9032;&#x548C;&#x5F71;&#x97FF;&#x7684;&#x6F14;&#x5316;&#x904E;&#x7A0B;&#x800C;&#x5B78;&#x5230;&#x5F88;&#x591A;.</p>
<p>&#x4E0B;&#x5716;&#x5C55;&#x793A;&#x4E86;&#x6700;&#x65E9;&#x671F;&#x7684;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;&#x5C0D;Go&#x8A9E;&#x8A00;&#x8A2D;&#x8A08;&#x7522;&#x751F;&#x7684;&#x91CD;&#x8981;&#x5F71;&#x97FF;.</p>
<p>&#x5C31;&#x50CF;&#x751F;&#x7269;&#x7269;&#x7A2E;, &#x4E00;&#x500B;&#x6210;&#x529F;&#x7684;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;&#x7684;&#x5F8C;&#x4EE3;&#x4E00;&#x822C;&#x90FD;&#x6703;&#x7E7C;&#x627F;&#x5B83;&#x5011;&#x7956;&#x5148;&#x7684;&#x512A;&#x9EDE;; &#x7576;&#x7136;&#x6709;&#x6642;&#x591A;&#x7A2E;&#x8A9E;&#x8A00;&#x6DF7;&#x5408;&#x4E5F;&#x6703;&#x7523;&#x751F;&#x4EE4;&#x4EBA;&#x9A5A;&#x8A1D;&#x7684;&#x7279;&#x6027;; &#x9084;&#x6709;&#x4E00;&#x4E9B;&#x6FC0;&#x9032;&#x7684;&#x65B0;&#x7279;&#x6027;&#x53EF;&#x80FD;&#x4F75;&#x6C92;&#x6709;&#x5148;&#x4F8B;. &#x6211;&#x5011;&#x53EF;&#x4EE5;&#x901A;&#x904E;&#x89C0;&#x5BDF;&#x8A9E;&#x8A00;&#x7684;&#x548C;&#x74B0;&#x5883;&#x662F;&#x5982;&#x4F55;&#x76F8;&#x4E92;&#x4FC3;&#x9032;&#x548C;&#x5F71;&#x97FF;&#x7684;&#x6F14;&#x5316;&#x904E;&#x7A0B;&#x800C;&#x5B78;&#x5230;&#x5F88;&#x591A;.</p>
<p>&#x4E0B;&#x5716;&#x5C55;&#x793A;&#x4E86;&#x6700;&#x65E9;&#x671F;&#x7684;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;&#x5C0D;Go&#x8A9E;&#x8A00;&#x8A2D;&#x8A08;&#x7523;&#x751F;&#x7684;&#x91CD;&#x8981;&#x5F71;&#x97FF;.</p>
<p><img src="../images/ch0-01.png" alt=""></p>
<p>Go&#x6709;&#x6642;&#x5019;&#x88AB;&#x63CF;&#x8FF0;&#x70BA;&quot;C&#x985E;&#x4F3C;&#x8A9E;&#x8A00;&quot;, &#x6216;&#x8005;&#x662F;&quot;21&#x4E16;&#x7D00;&#x7684;C&#x8A9E;&#x8A00;&quot;. Go&#x5F9E;C&#x8A9E;&#x8A00;&#x7E7C;&#x627F;&#x4E86;&#x76F8;&#x4F3C;&#x7684;&#x9336;&#x9054;&#x5F0F;&#x8A9E;&#x6CD5;, &#x63A7;&#x88FD;&#x6D41;&#x7D50;&#x69CB;, &#x57FA;&#x790E;&#x6578;&#x64DA;&#x985E;&#x578B;, &#x8ABF;&#x7528;&#x53C3;&#x6578;&#x50B3;&#x503C;, &#x6307;&#x937C;&#x7B49;&#x5F88;&#x591A;&#x601D;&#x60F3;, &#x9084;&#x6709;C&#x8A9E;&#x8A00;&#x4E00;&#x76F4;&#x770B;&#x4E2D;&#x7684;&#x7DE8;&#x8B6F;&#x5F8C;&#x6A5F;&#x5668;&#x78BC;&#x7684;&#x904B;&#x884C;&#x6548;&#x7387;&#x4EE5;&#x53CA;&#x548C;&#x73FE;&#x6709;&#x64CD;&#x4F5C;&#x7E6B;&#x7D71;&#x7684;&#x7121;&#x7E2B;&#x7684;&#x9069;&#x914D;.</p>
<p>&#x4F46;&#x662F;&#x5728;Go&#x8A9E;&#x8A00;&#x50A2;&#x7684;&#x65CF;&#x6A39;&#x4E2D;&#x9084;&#x6709;&#x5176;&#x4ED6;&#x7684;&#x7956;&#x5148;. &#x5176;&#x4E2D;&#x4E00;&#x500B;&#x6709;&#x5F71;&#x97FF;&#x7684;&#x5206;&#x652F;&#x4F86;&#x81EA;Niklaus Wirth&#x8A2D;&#x8A08;&#x7684;Pascal&#x8A9E;&#x8A00;. Modula-2 &#x6FC0;&#x9AEE;&#x4E86;&#x5305;&#x7684;&#x6982;&#x5538;. Oberon &#x6452;&#x68C4;&#x4E86;&#x6A21;&#x584A;&#x63A5;&#x53E3;&#x6587;&#x4EF6;&#x548C;&#x6A21;&#x584A;&#x5BE6;&#x73FE;&#x6587;&#x4EF6;&#x4E4B;&#x9593;&#x7684;&#x5340;&#x5F46;. Oberon-2 &#x5F71;&#x97FF;&#x4E86;&#x7684;&#x5305;&#x7684;&#x5C0E;&#x5165;&#x548C;&#x8072;&#x660E;&#x7684;&#x8A9E;&#x6CD5;, &#x9084;&#x6709; &#x9EAB;&#x66CF;&#x5C0D;&#x8C61; Oberon &#x6240;&#x63D0;&#x4F9B;&#x7684;&#x65B9;&#x6CD5;&#x7684;&#x8072;&#x660E;&#x8A9E;&#x6CD5;&#x7B49;.</p>
<p>Go&#x7684;&#x53E6;&#x4E00;&#x652F;&#x7956;&#x5148;, &#x4E5F;&#x662F;Go&#x5340;&#x5F46;&#x5176;&#x4ED6;&#x8A9E;&#x8A00;&#x7684;&#x91CD;&#x8981;&#x7279;&#x6027;, &#x9748;&#x611F;&#x4F86;&#x81EA;&#x8C9D;&#x723E;&#x5BE6;&#x9A57;&#x5BA4;&#x7684;Tony Hoare&#x7684;1978&#x5E74;&#x9AEE;&#x9336;&#x7684;&#x9BAE;&#x70BA;&#x5916;&#x754C;&#x6240;&#x77E5;&#x7684;&#x95DC;&#x65BC;&#x4F75;&#x9AEE;&#x7814;&#x7A76;&#x7684;&#x57FA;&#x790E;&#x6587;&#x737B;communicating sequential processes (CSP). &#x5728;CSP&#x4E2D;, &#x7A0B;&#x5E8F;&#x662F;&#x4E00;&#x7D44;&#x4E2D;&#x9593;&#x6C92;&#x6709;&#x5171;&#x4EAB;&#x72C0;&#x614B;&#x7684;&#x5E73;&#x884C;&#x7684;&#x8655;&#x7406;&#x904E;&#x7A0B;, &#x5B83;&#x5011;&#x4F7F;&#x7528;&#x7BA1;&#x9053;&#x9032;&#x884C;&#x901A;&#x4FE1;&#x548C;&#x8855;&#x6B65;. &#x4E0D;&#x904E;Tony Hoare&#x7684;CSP&#x96BB;&#x662F;&#x4E00;&#x500B;&#x7528;&#x65BC;&#x63CF;&#x8FF0;&#x4F75;&#x9AEE;&#x6027;&#x57FA;&#x672C;&#x6982;&#x5538;&#x7684;&#x63CF;&#x8FF0;&#x8A9E;&#x8A00;, &#x4F75;&#x4E0D;&#x662F;&#x4E00;&#x500B;&#x7DE8;&#x5BEB;&#x53EF;&#x57F7;&#x884C;&#x7A0B;&#x5E8F;&#x7684;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;.</p>
<p>Rob Pike&#x548C;&#x5176;&#x4ED6;&#x4EBA;&#x958B;&#x59CB;&#x5690;&#x8A66;&#x5C07;CSP&#x5F15;&#x5165;&#x5BE6;&#x969B;&#x7684;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;&#x4E2D;. &#x7B2C;&#x4E00;&#x500B;&#x8A9E;&#x8A00;&#x53EB;Squeak(&#x8001;&#x9F20;&#x9593;&#x4EA4;&#x6D41;&#x7684;&#x8A9E;&#x8A00;), &#x4E00;&#x500B;&#x63D0;&#x4F9B;&#x9F20;&#x6A19;&#x548C;&#x9375;&#x76E4;&#x4E8B;&#x4EF6;&#x8655;&#x7406;&#x7684;&#x8A9E;&#x8A00;, &#x5B83;&#x7684;&#x7BA1;&#x9053;&#x662F;&#x975C;&#x614B;&#x5275;&#x5EFA;&#x7684;. &#x7136;&#x5F8C;&#x662F;Newsqueak, &#x63D0;&#x4F9B;&#x4E86;&#x985E;&#x4F3C;C&#x8A9E;&#x8A00;&#x8A9E;&#x53E5;&#x548C;&#x9336;&#x9054;&#x5F0F;&#x7684;&#x7684;&#x8A9E;&#x6CD5;&#x548C;Pascal&#x7684;&#x985E;&#x4F3C;&#x63A8;&#x5C0E;&#x8A9E;&#x6CD5;. &#x5B83;&#x662F;&#x4E00;&#x500B;&#x5E36;&#x5783;&#x573E;&#x8FF4;&#x6536;&#x7684;&#x7D14;&#x51FD;&#x6578;&#x5F0F;&#x8A9E;&#x8A00;, &#x518D;&#x6B64;&#x937C;&#x5C0D;&#x7BA1;&#x7406;&#x9375;&#x76E4;, &#x9F20;&#x6A19;&#x548C;&#x7A97;&#x53E3;&#x4E8B;&#x4EF6;&#x7BA1;&#x7406;. &#x4F46;&#x662F;Newsqueak&#x4E2D;&#x7BA1;&#x9053;&#x662F;&#x52D5;&#x614B;&#x5275;&#x5EFA;&#x7684;, &#x5C6C;&#x65BC;&#x7B2C;&#x4E00;&#x985E;&#x503C;, &#x53EF;&#x4EE5;&#x4FDD;&#x5B58;&#x5230;&#x8B8A;&#x91CF;&#x4E2D;.</p>
<p>&#x5728;Plan9&#x64CD;&#x4F5C;&#x7E6B;&#x7D71;&#x4E2D;, &#x9019;&#x4E9B;&#x60F3;&#x6CD5;&#x88AB;&#x5438;&#x6536;&#x5230;&#x4E00;&#x500B;&#x53EB;Alef&#x7684;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;&#x4E2D;. Alef&#x8996;&#x5716;&#x5C07;Newsqueak&#x6539;&#x9020;&#x70BA;&#x7E6B;&#x7D71;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;, &#x4F46;&#x662F;&#x56E0;&#x70BA;&#x7F3A;&#x5C11;&#x5783;&#x573E;&#x8FF4;&#x6536;&#x6A5F;&#x88FD;&#x800C;&#x5C0E;&#x7DFB;&#x4F75;&#x9AEE;&#x8655;&#x7406;&#x5F88;&#x75DB;&#x82E6;.</p>
<p>Go&#x7684;&#x5176;&#x4ED6;&#x4E00;&#x4E9B;&#x7279;&#x6027;&#x96F6;&#x6563;&#x5730;&#x4F86;&#x7740;&#x5176;&#x4ED6;&#x7684;&#x4E00;&#x4E9B;&#x8A9E;&#x8A00;; &#x6BD4;&#x5982; iota &#x5F9E; APL &#x501F;&#x9451;, &#x8A5E;&#x6CD5;&#x4F5C;&#x7528;&#x57DF;&#x8207;&#x5D4C;&#x5957;&#x51FD;&#x6578;&#x4F86;&#x81EA; Scheme (&#x548C;&#x5176;&#x4ED6;&#x5F88;&#x591A;&#x8A9E;&#x8A00;). &#x6211;&#x5011;&#x4E5F;&#x53EF;&#x4EE5;&#x5F9E;Go&#x4E2D;&#x9AEE;&#x73FE;&#x5F88;&#x591A;&#x5275;&#x65B0;&#x7684;&#x8A2D;&#x8A08;. &#x6BD4;&#x5982;Go&#x7684;&#x5207;&#x7247;&#x70BA;&#x52D5;&#x614B;&#x6578;&#x7D44;&#x63D0;&#x4F9B;&#x4E86;&#x6709;&#x6548;&#x7684;&#x96A8;&#x6A5F;&#x5B58;&#x53D6;&#x6027;&#x80FD;, &#x4EE5;&#x53CA;&#x53EF;&#x80FD;&#x6703;&#x8B93;&#x4EBA;&#x806F;&#x60F3;&#x5230;&#x93C8;&#x9336;&#x7684;&#x5E95;&#x5C64;&#x7684;&#x5171;&#x4EAB;&#x6A5F;&#x88FD;.
&#x9084;&#x6709;Go&#x81EA;&#x5DF1;&#x9AEE;&#x660E;&#x7684;defer&#x8A9E;&#x53E5;.</p>
<p>Go&#x6709;&#x6642;&#x5019;&#x88AB;&#x63CF;&#x8FF0;&#x7232;&quot;C&#x985E;&#x4F3C;&#x8A9E;&#x8A00;&quot;, &#x6216;&#x8005;&#x662F;&quot;21&#x4E16;&#x7D00;&#x7684;C&#x8A9E;&#x8A00;&quot;. Go&#x5F9E;C&#x8A9E;&#x8A00;&#x7E7C;&#x627F;&#x4E86;&#x76F8;&#x4F3C;&#x7684;&#x8868;&#x9054;&#x5F0F;&#x8A9E;&#x6CD5;, &#x63A7;&#x88FD;&#x6D41;&#x7D50;&#x69CB;, &#x57FA;&#x790E;&#x6578;&#x64DA;&#x985E;&#x578B;, &#x8ABF;&#x7528;&#x53C3;&#x6578;&#x50B3;&#x503C;, &#x6307;&#x91DD;&#x7B49;&#x5F88;&#x591A;&#x601D;&#x60F3;, &#x9084;&#x6709;C&#x8A9E;&#x8A00;&#x4E00;&#x76F4;&#x770B;&#x4E2D;&#x7684;&#x7DE8;&#x8B6F;&#x5F8C;&#x6A5F;&#x5668;&#x78BC;&#x7684;&#x904B;&#x884C;&#x6548;&#x7387;&#x4EE5;&#x53CA;&#x548C;&#x73FE;&#x6709;&#x64CD;&#x4F5C;&#x7E6B;&#x7D71;&#x7684;&#x7121;&#x7E2B;&#x7684;&#x9069;&#x914D;.</p>
<p>&#x4F46;&#x662F;&#x5728;Go&#x8A9E;&#x8A00;&#x5BB6;&#x7684;&#x65CF;&#x6A39;&#x4E2D;&#x9084;&#x6709;&#x5176;&#x4ED6;&#x7684;&#x7956;&#x5148;. &#x5176;&#x4E2D;&#x4E00;&#x500B;&#x6709;&#x5F71;&#x97FF;&#x7684;&#x5206;&#x652F;&#x4F86;&#x81EA;Niklaus Wirth&#x8A2D;&#x8A08;&#x7684;Pascal&#x8A9E;&#x8A00;. Modula-2 &#x6FC0;&#x767C;&#x4E86;&#x5305;&#x7684;&#x6982;&#x5FF5;. Oberon &#x6452;&#x68C4;&#x4E86;&#x6A21;&#x584A;&#x63A5;&#x53E3;&#x6587;&#x4EF6;&#x548C;&#x6A21;&#x584A;&#x5BE6;&#x73FE;&#x6587;&#x4EF6;&#x4E4B;&#x9593;&#x7684;&#x5340;&#x522B;. Oberon-2 &#x5F71;&#x97FF;&#x4E86;&#x7684;&#x5305;&#x7684;&#x5C0E;&#x5165;&#x548C;&#x8072;&#x660E;&#x7684;&#x8A9E;&#x6CD5;, &#x9084;&#x6709; &#x9762;&#x5411;&#x5C0D;&#x8C61; Oberon &#x6240;&#x63D0;&#x4F9B;&#x7684;&#x65B9;&#x6CD5;&#x7684;&#x8072;&#x660E;&#x8A9E;&#x6CD5;&#x7B49;.</p>
<p>Go&#x7684;&#x53E6;&#x4E00;&#x652F;&#x7956;&#x5148;, &#x4E5F;&#x662F;Go&#x5340;&#x522B;&#x5176;&#x4ED6;&#x8A9E;&#x8A00;&#x7684;&#x91CD;&#x8981;&#x7279;&#x6027;, &#x9748;&#x611F;&#x4F86;&#x81EA;&#x8C9D;&#x723E;&#x5BE6;&#x9A57;&#x5BA4;&#x7684;Tony Hoare&#x7684;1978&#x5E74;&#x767C;&#x8868;&#x7684;&#x9BAE;&#x7232;&#x5916;&#x754C;&#x6240;&#x77E5;&#x7684;&#x95DC;&#x65BC;&#x4F75;&#x767C;&#x7814;&#x7A76;&#x7684;&#x57FA;&#x790E;&#x6587;&#x737B;communicating sequential processes (CSP). &#x5728;CSP&#x4E2D;, &#x7A0B;&#x5E8F;&#x662F;&#x4E00;&#x7D44;&#x4E2D;&#x9593;&#x6C92;&#x6709;&#x5171;&#x4EAB;&#x72C0;&#x614B;&#x7684;&#x5E73;&#x884C;&#x7684;&#x8655;&#x7406;&#x904E;&#x7A0B;, &#x5B83;&#x5011;&#x4F7F;&#x7528;&#x7BA1;&#x9053;&#x9032;&#x884C;&#x901A;&#x4FE1;&#x548C;&#x540C;&#x6B65;. &#x4E0D;&#x904E;Tony Hoare&#x7684;CSP&#x96BB;&#x662F;&#x4E00;&#x500B;&#x7528;&#x65BC;&#x63CF;&#x8FF0;&#x4F75;&#x767C;&#x6027;&#x57FA;&#x672C;&#x6982;&#x5FF5;&#x7684;&#x63CF;&#x8FF0;&#x8A9E;&#x8A00;, &#x4F75;&#x4E0D;&#x662F;&#x4E00;&#x500B;&#x7DE8;&#x5BEB;&#x53EF;&#x57F7;&#x884C;&#x7A0B;&#x5E8F;&#x7684;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;.</p>
<p>Rob Pike&#x548C;&#x5176;&#x4ED6;&#x4EBA;&#x958B;&#x59CB;&#x5690;&#x8A66;&#x5C07;CSP&#x5F15;&#x5165;&#x5BE6;&#x969B;&#x7684;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;&#x4E2D;. &#x7B2C;&#x4E00;&#x500B;&#x8A9E;&#x8A00;&#x53EB;Squeak(&#x8001;&#x9F20;&#x9593;&#x4EA4;&#x6D41;&#x7684;&#x8A9E;&#x8A00;), &#x4E00;&#x500B;&#x63D0;&#x4F9B;&#x9F20;&#x6A19;&#x548C;&#x9375;&#x76E4;&#x4E8B;&#x4EF6;&#x8655;&#x7406;&#x7684;&#x8A9E;&#x8A00;, &#x5B83;&#x7684;&#x7BA1;&#x9053;&#x662F;&#x975C;&#x614B;&#x5275;&#x5EFA;&#x7684;. &#x7136;&#x5F8C;&#x662F;Newsqueak, &#x63D0;&#x4F9B;&#x4E86;&#x985E;&#x4F3C;C&#x8A9E;&#x8A00;&#x8A9E;&#x53E5;&#x548C;&#x8868;&#x9054;&#x5F0F;&#x7684;&#x7684;&#x8A9E;&#x6CD5;&#x548C;Pascal&#x7684;&#x985E;&#x4F3C;&#x63A8;&#x5C0E;&#x8A9E;&#x6CD5;. &#x5B83;&#x662F;&#x4E00;&#x500B;&#x5E36;&#x5783;&#x573E;&#x8FF4;&#x6536;&#x7684;&#x7D14;&#x51FD;&#x6578;&#x5F0F;&#x8A9E;&#x8A00;, &#x518D;&#x6B64;&#x91DD;&#x5C0D;&#x7BA1;&#x7406;&#x9375;&#x76E4;, &#x9F20;&#x6A19;&#x548C;&#x7A97;&#x53E3;&#x4E8B;&#x4EF6;&#x7BA1;&#x7406;. &#x4F46;&#x662F;Newsqueak&#x4E2D;&#x7BA1;&#x9053;&#x662F;&#x52D5;&#x614B;&#x5275;&#x5EFA;&#x7684;, &#x5C6C;&#x65BC;&#x7B2C;&#x4E00;&#x985E;&#x503C;, &#x53EF;&#x4EE5;&#x4FDD;&#x5B58;&#x5230;&#x8B8A;&#x91CF;&#x4E2D;.</p>
<p>&#x5728;Plan9&#x64CD;&#x4F5C;&#x7E6B;&#x7D71;&#x4E2D;, &#x9019;&#x4E9B;&#x60F3;&#x6CD5;&#x88AB;&#x5438;&#x6536;&#x5230;&#x4E00;&#x500B;&#x53EB;Alef&#x7684;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;&#x4E2D;. Alef&#x8996;&#x5716;&#x5C07;Newsqueak&#x6539;&#x9020;&#x7232;&#x7E6B;&#x7D71;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;, &#x4F46;&#x662F;&#x56E0;&#x7232;&#x7F3A;&#x5C11;&#x5783;&#x573E;&#x8FF4;&#x6536;&#x6A5F;&#x88FD;&#x800C;&#x5C0E;&#x81F4;&#x4F75;&#x767C;&#x8655;&#x7406;&#x5F88;&#x75DB;&#x82E6;.</p>
<p>Go&#x7684;&#x5176;&#x4ED6;&#x4E00;&#x4E9B;&#x7279;&#x6027;&#x96F6;&#x6563;&#x5730;&#x4F86;&#x7740;&#x5176;&#x4ED6;&#x7684;&#x4E00;&#x4E9B;&#x8A9E;&#x8A00;; &#x6BD4;&#x5982; iota &#x5F9E; APL &#x501F;&#x9452;, &#x8A5E;&#x6CD5;&#x4F5C;&#x7528;&#x57DF;&#x8207;&#x5D4C;&#x5957;&#x51FD;&#x6578;&#x4F86;&#x81EA; Scheme (&#x548C;&#x5176;&#x4ED6;&#x5F88;&#x591A;&#x8A9E;&#x8A00;). &#x6211;&#x5011;&#x4E5F;&#x53EF;&#x4EE5;&#x5F9E;Go&#x4E2D;&#x767C;&#x73FE;&#x5F88;&#x591A;&#x5275;&#x65B0;&#x7684;&#x8A2D;&#x8A08;. &#x6BD4;&#x5982;Go&#x7684;&#x5207;&#x7247;&#x7232;&#x52D5;&#x614B;&#x6578;&#x7D44;&#x63D0;&#x4F9B;&#x4E86;&#x6709;&#x6548;&#x7684;&#x96A8;&#x6A5F;&#x5B58;&#x53D6;&#x6027;&#x80FD;, &#x4EE5;&#x53CA;&#x53EF;&#x80FD;&#x6703;&#x8B93;&#x4EBA;&#x806F;&#x60F3;&#x5230;&#x93C8;&#x8868;&#x7684;&#x5E95;&#x5C64;&#x7684;&#x5171;&#x4EAB;&#x6A5F;&#x88FD;.
&#x9084;&#x6709;Go&#x81EA;&#x5DF1;&#x767C;&#x660E;&#x7684;defer&#x8A9E;&#x53E5;.</p>
</section>

View File

@@ -48,7 +48,7 @@
<body>
<div class="book" data-level="0.2" data-chapter-title="Go語言項目" data-filepath="ch0/ch0-02.md" data-basepath=".." data-revision="Wed Dec 16 2015 10:54:29 GMT+0800 (中国标准时间)">
<div class="book" data-level="0.2" data-chapter-title="Go語言項目" data-filepath="ch0/ch0-02.md" data-basepath=".." data-revision="Mon Dec 21 2015 12:51:02 GMT+0800 (中国标准时间)">
<div class="book-summary">
@@ -146,7 +146,7 @@
<b>0.5.</b>
</a>
@@ -212,7 +212,7 @@
<b>1.3.</b>
査找重的行
査找重的行
</a>
@@ -227,7 +227,7 @@
<b>1.4.</b>
GIF動
GIF動
</a>
@@ -257,7 +257,7 @@
<b>1.6.</b>
穫取多個URL
穫取多個URL
</a>
@@ -479,7 +479,7 @@
<b>3.3.</b>
</a>
@@ -494,7 +494,7 @@
<b>3.4.</b>
爾型
爾型
</a>
@@ -544,7 +544,7 @@
<b>4.</b>
復閤數據類型
複合數據類型
</a>
@@ -857,7 +857,7 @@
<b>6.2.</b>
基於指對象的方法
基於指對象的方法
</a>
@@ -887,7 +887,7 @@
<b>6.4.</b>
方法值和方法達式
方法值和方法達式
</a>
@@ -953,7 +953,7 @@
<b>7.1.</b>
接口是
接口是
</a>
@@ -1073,7 +1073,7 @@
<b>7.9.</b>
示例: 達式求值
示例: 達式求值
</a>
@@ -1103,7 +1103,7 @@
<b>7.11.</b>
基於類型斷言識錯誤類型
基於類型斷言識錯誤類型
</a>
@@ -1214,7 +1214,7 @@
<b>8.2.</b>
示例: 併的Clock服務
示例: 併的Clock服務
</a>
@@ -1229,7 +1229,7 @@
<b>8.3.</b>
示例: 併的Echo服務
示例: 併的Echo服務
</a>
@@ -1274,7 +1274,7 @@
<b>8.6.</b>
示例: 併的Web爬蟲
示例: 併的Web爬蟲
</a>
@@ -1289,7 +1289,7 @@
<b>8.7.</b>
基於select的多路
基於select的多路
</a>
@@ -1304,7 +1304,7 @@
<b>8.8.</b>
示例: 併的字典遍歷
示例: 併的字典遍歷
</a>
@@ -1319,7 +1319,7 @@
<b>8.9.</b>
的退齣
的退齣
</a>
@@ -1354,7 +1354,7 @@
<b>9.</b>
基於共享變量的併
基於共享變量的併
</a>
@@ -1415,7 +1415,7 @@
<b>9.4.</b>
內存
內存
</a>
@@ -1460,7 +1460,7 @@
<b>9.7.</b>
示例: 併的非阻塞緩存
示例: 併的非阻塞緩存
</a>
@@ -1475,7 +1475,7 @@
<b>9.8.</b>
Goroutines和
Goroutines和
</a>
@@ -1748,7 +1748,7 @@
<b>12.1.</b>
何需要反射?
何需要反射?
</a>
@@ -1793,7 +1793,7 @@
<b>12.4.</b>
示例: 編碼S達式
示例: 編碼S達式
</a>
@@ -1823,7 +1823,7 @@
<b>12.6.</b>
示例: 解碼S達式
示例: 解碼S達式
</a>
@@ -1975,50 +1975,14 @@
</li>
<li class="chapter " data-level="14" data-path="exercise/ex.html">
<a href="../exercise/ex.html">
<i class="fa fa-check"></i>
<b>14.</b>
習題解答
</a>
<ul class="articles">
<li class="chapter " data-level="14.1" data-path="exercise/ex-ch1.html">
<a href="../exercise/ex-ch1.html">
<i class="fa fa-check"></i>
<b>14.1.</b>
第一章 入門
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="15" data-path="errata.html">
<li class="chapter " data-level="14" data-path="errata.html">
<a href="../errata.html">
<i class="fa fa-check"></i>
<b>15.</b>
<b>14.</b>
勘誤
</a>
@@ -2061,13 +2025,13 @@
<h2 id="go&#x8A9E;&#x8A00;&#x9805;&#x76EE;">Go&#x8A9E;&#x8A00;&#x9805;&#x76EE;</h2>
<p>&#x6240;&#x6709;&#x7684;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;&#x90FD;&#x53CD;&#x6620;&#x4E86;&#x8A2D;&#x8A08;&#x8005;&#x5C0D;&#x7DE8;&#x7A0B;&#x54F2;&#x5B78;&#x7684;&#x53CD;&#x601D;, &#x901A;&#x5E38;&#x5305;&#x62EC;&#x4E4B;&#x524D;&#x7684;&#x8A9E;&#x8A00;&#x6240;&#x66B4;&#x9732;&#x7684;&#x4E00;&#x4E9B;&#x4E0D;&#x8DB3;&#x7684;&#x5730;&#x65B9;.
Go&#x9805;&#x76EE;&#x662F;&#x5728;Google&#x8D85;&#x7D1A;&#x5FA9;&#x96DC;&#x7684;&#x5E7E;&#x500B;&#x8EDF;&#x4EF6;&#x7E6B;&#x7D71;&#x9047;&#x5230;&#x7684;&#x4E00;&#x4E9B;&#x554F;&#x984C;&#x7684;&#x53CD;&#x601D;(&#x4F46;&#x662F;&#x9019;&#x500B;&#x554F;&#x984C;&#x7D76;&#x4E0D;&#x662F;&#x7A40;&#x6B4C;&#x7279;&#x6709;&#x7684;).</p>
<p>&#x6B63;&#x5982;Rob Pike&#x6240;&#x8AAA;, &#x201C;&#x5FA9;&#x96DC;&#x6027;&#x662F;&#x4E58;&#x6CD5;&#x7D1A;&#x76F8;&#x95DC;&#x7684;&#x201D;, &#x901A;&#x904E;&#x589E;&#x52A0;&#x4E00;&#x500B;&#x90E8;&#x5206;&#x7684;&#x5FA9;&#x96DC;&#x6027;&#x4F86;&#x8129;&#x5FA9;&#x554F;&#x984C;&#x901A;&#x5E38;&#x5C07;&#x6162;&#x6162;&#x5730;&#x589E;&#x52A0;&#x5176;&#x4ED6;&#x90E8;&#x5206;&#x7684;&#x5FA9;&#x96DC;&#x6027;. &#x901A;&#x904E;&#x589E;&#x52A0;&#x529F;&#x80FD;&#x548C;&#x9078;&#x9805;&#x548C;&#x914D;&#x7F6E;&#x662F;&#x8129;&#x5FA9;&#x554F;&#x984C;&#x7684;&#x6700;&#x5FEB;&#x7684;&#x9014;&#x5F91;, &#x4F46;&#x662F;&#x9019;&#x5F88;&#x5BB9;&#x6613;&#x5FFD;&#x7565;&#x7C21;&#x6F54;&#x7684;&#x5167;&#x6DB5;, &#x537D;&#x4F7F;&#x5F9E;&#x9577;&#x9060;&#x4F86;&#x770B;, &#x7C21;&#x6F54;&#x4F9D;&#x7136;&#x662F;&#x597D;&#x7684;&#x8EDF;&#x4EF6;&#x95DC;&#x9375;&#x56E0;&#x7D20;.</p>
<p>&#x7C21;&#x6F54;&#x9700;&#x8981;&#x5728;&#x5DE5;&#x4F5C;&#x958B;&#x59CB;&#x7684;&#x6642;&#x5019;&#x6E1B;&#x5C11;&#x4E0D;&#x5FC5;&#x8981;&#x7684;&#x60F3;&#x6CD5;, &#x4F75;&#x4E14;&#x5728;&#x8EDF;&#x4EF6;&#x7684;&#x751F;&#x547D;&#x9031;&#x671F;&#x5167;&#x56B4;&#x683C;&#x5340;&#x5F46;&#x597D;&#x7684;&#x6539;&#x8B8A;&#x6216;&#x58DE;&#x7684;&#x6539;&#x8B8A;. &#x901A;&#x904E;&#x8DB3;&#x5920;&#x7684;&#x52AA;&#x529B;, &#x4E00;&#x500B;&#x597D;&#x7684;&#x6539;&#x8B8A;&#x53EF;&#x4EE5;&#x5728;&#x4E0D;&#x7834;&#x58DE;&#x5B8C;&#x6574;&#x6982;&#x5538;&#x7684;&#x524D;&#x63D0;&#x4E0B;&#x4FDD;&#x6301;&#x81EA;&#x9069;&#x61C9;, &#x6B63;&#x5982; Fred Brooks &#x6240;&#x8AAA;&#x7684; &quot;&#x6982;&#x5538;&#x5B8C;&#x6574;&#x6027;&quot;; &#x800C;&#x4E00;&#x500B;&#x58DE;&#x7684;&#x6539;&#x8B8A;&#x5247;&#x4E0D;&#x80FD;, &#x5B83;&#x5011;&#x50C5;&#x50C5;&#x662F;&#x901A;&#x904E;&#x819A;&#x6DFA;&#x7684;&#x7C21;&#x55AE;&#x7684;&#x59A5;&#x5354;&#x4F86;&#x7834;&#x58DE;&#x8A2D;&#x8A08;&#x7684;&#x4E00;&#x7DFB;&#x6027;. &#x96BB;&#x6709;&#x901A;&#x904E;&#x7C21;&#x6F54;&#x7684;&#x8A2D;&#x8A08;, &#x7E94;&#x80FD;&#x8B93;&#x4E00;&#x500B;&#x7E6B;&#x7D71;&#x4FDD;&#x6301;&#x7A69;&#x5B9A;, &#x5B89;&#x5168;, &#x548C;&#x6301;&#x7E8C;&#x7684;&#x751F;&#x9577;.</p>
<p>Go&#x9805;&#x76EE;&#x5305;&#x62EC;&#x8A9E;&#x8A00;&#x672C;&#x8EAB;, &#x9644;&#x5E36;&#x7684;&#x5DE5;&#x5177;&#x548C;&#x6A19;&#x6E96;&#x5EAB;, &#x6700;&#x5F8C;&#x4F46;&#x4F75;&#x975E;&#x4E0D;&#x91CD;&#x8981;&#x7684;, &#x7C21;&#x6F54;&#x7DE8;&#x7A0B;&#x54F2;&#x5B78;&#x7684;&#x5BA3;&#x8A00;. &#x5C31;&#x4E8B;&#x5F8C;&#x7684;&#x76EE;&#x5149;&#x4F86;&#x770B;, Go&#x7684;&#x9019;&#x4E9B;&#x5730;&#x65B9;&#x90FD;&#x505A;&#x7684;&#x4E0D;&#x932F;: &#x64C1;&#x6709;&#x81EA;&#x52D5;&#x5783;&#x573E;&#x8FF4;&#x6536;, &#x4E00;&#x500B;&#x5305;&#x7E6B;&#x7D71;, &#x51FD;&#x6578;&#x4F5C;&#x70BA;&#x4E00;&#x7B49;&#x516C;&#x6C11;, &#x8A5E;&#x6CD5;&#x4F5C;&#x7528;&#x57DF;, &#x7E6B;&#x7D71;&#x8ABF;&#x7528;&#x63A5;&#x53E3;, &#x96BB;&#x8B80;&#x7684;UTF8&#x5B57;&#x7B26;&#x4E32;. &#x4F46;&#x662F;Go&#x96BB;&#x6709;&#x76F8;&#x5C0D;&#x8F03;&#x5C11;&#x7684;&#x7279;&#x6027;, &#x4E5F;&#x4E0D;&#x592A;&#x53EF;&#x80FD;&#x5C0D;&#x6DFB;&#x52A0;&#x66F4;&#x591A;. &#x4F8B;&#x5982;, &#x5B83;&#x6C92;&#x6709;&#x96B1;&#x5F0F;&#x7684;&#x6578;&#x503C;&#x8F49;&#x63DB;, &#x6C92;&#x6709;&#x69CB;&#x9020;&#x51FD;&#x6578;&#x548C;&#x6790;&#x69CB;&#x51FD;&#x6578;, &#x6C92;&#x6709;&#x904B;&#x7B97;&#x7B26;&#x91CD;&#x8F09;, &#x6C92;&#x6709;&#x9ED8;&#x8A8D;&#x53C3;&#x6578;, &#x6C92;&#x6709;&#x7E7C;&#x627F;, &#x6C92;&#x6709;&#x6C3E;&#x578B;, &#x6C92;&#x6709;&#x7570;&#x5E38;, &#x6C92;&#x6709;&#x5B8F;, &#x6C92;&#x6709;&#x51FD;&#x6578;&#x8129;&#x98FE;, &#x6C92;&#x6709;&#x7DAB;&#x7A0B;&#x4FB7;&#x90E8;&#x5B58;&#x5132;. &#x4F46;&#x662F;&#x8A9E;&#x8A00;&#x662F;&#x6210;&#x719F;&#x548C;&#x7A69;&#x5B9A;&#x7684;, &#x800C;&#x4E14;&#x4FDD;&#x8B49;&#x66CF;&#x5F8C;&#x517C;&#x5BB9;: &#x4EE5;&#x524D;&#x7684;Go&#x7A0B;&#x5E8F;&#x53EF;&#x4EE5;&#x7528;&#x65B0;&#x7248;&#x672C;&#x7684;&#x7DE8;&#x8B6F;&#x5668;&#x548C;&#x6A19;&#x6E96;&#x5EAB;&#x4E0B;&#x69CB;&#x5EFA;.</p>
<p>Go&#x6709;&#x8DB3;&#x5920;&#x7684;&#x985E;&#x578B;&#x7E6B;&#x7D71;&#x4EE5;&#x907F;&#x514D;&#x52D5;&#x614B;&#x8A9E;&#x8A00;&#x4E2D;&#x90A3;&#x4E9B;&#x7C97;&#x5FC3;&#x7684;&#x985E;&#x578B;&#x932F;&#x8AA4;, &#x4F46;&#x662F;Go&#x7684;&#x985E;&#x578B;&#x7E6B;&#x7D71;&#x76F8;&#x6BD4;&#x50B3;&#x7D71;&#x7684;&#x5F37;&#x985E;&#x578B;&#x8A9E;&#x8A00;&#x53C8;&#x8981;&#x7C21;&#x6F54;&#x5F88;&#x591A;. &#x6709;&#x6642;&#x5019;&#x9019;&#x6703;&#x5C0E;&#x7DFB;&#x4E00;&#x500B;&quot;&#x7121;&#x985E;&#x578B;&quot;&#x7684;&#x62BD;&#x8C61;&#x985E;&#x578B;, &#x4F46;&#x662F;Go&#x7A0B;&#x5E8F;&#x54E1;&#x4F75;&#x4E0D;&#x9700;&#x8981;&#x50CF; C++ &#x6216; Haskell &#x7A0B;&#x5E8F;&#x54E1;&#x90A3;&#x6A23;&#x7CFE;&#x7D50;&#x5177;&#x9AD4;&#x985E;&#x578B;&#x7684;&#x5B89;&#x5168;&#x5C6C;&#x6027;. &#x4F46;&#x5BE6;&#x8E10;&#x4E2D;Go&#x7684;&#x7C21;&#x6F54;&#x7684;&#x985E;&#x578B;&#x7E6B;&#x7D71;&#x7D66;&#x4E86;&#x7A0B;&#x5E8F;&#x54E1;&#x66F4;&#x591A;&#x7684;&#x5B89;&#x5168;&#x6027;&#x548C;&#x66F4;&#x597D;&#x7684;&#x904B;&#x884C;&#x6642;&#x6027;&#x80FD;.</p>
<p>Go &#x9F13;&#x52F5;&#x7576;&#x4EE3;&#x8A08;&#x7B97;&#x6A5F;&#x7E6B;&#x7D71;&#x8A2D;&#x8A08;&#x7684;&#x8A8D;&#x8B58;, &#x7279;&#x5F46;&#x662F;&#x4FB7;&#x90E8;&#x7684;&#x91CD;&#x8981;&#x6027;. &#x5B83;&#x7684;&#x5167;&#x7F6E;&#x6578;&#x64DA;&#x985E;&#x578B;&#x548C;&#x5927;&#x591A;&#x6578;&#x7684;&#x6E96;&#x5EAB;&#x6578;&#x64DA;&#x7D50;&#x69CB;&#x90FD;&#x7D93;&#x904E;&#x7CBE;&#x5FC3;&#x8A2D;&#x8A08;&#x800C;&#x907F;&#x514D;&#x986F;&#x5F0F;&#x7684;&#x521D;&#x59CB;&#x5316;&#x6216;&#x96B1;&#x5F0F;&#x7684;&#x69CB;&#x9020;&#x51FD;&#x6578;, &#x56E0;&#x6B64;&#x8F03;&#x5C11;&#x7684;&#x5167;&#x5B58;&#x5206;&#x914D;&#x548C;&#x5167;&#x5B58;&#x521D;&#x59CB;&#x5316;&#x88AB;&#x96B1;&#x85CF;&#x5728;&#x4E86;&#x4EE3;&#x78BC;&#x4E2D;. Go&#x7684;&#x805A;&#x95A4;&#x985E;&#x578B;(&#x7D50;&#x69CB;&#x9AD4;&#x548C;&#x6578;&#x7D44;)&#x76F4;&#x63A5;&#x64CD;&#x4F5C;&#x5B83;&#x5011;&#x7684;&#x5143;&#x7D20;, &#x9700;&#x8981;&#x66F4;&#x5C11;&#x7684;&#x5B58;&#x5132;&#x7A7A;&#x9593;, &#x66F4;&#x5C11;&#x7684;&#x5167;&#x5B58;&#x5206;&#x914D;, &#x800C;&#x4E14;&#x6307;&#x937C;&#x64CD;&#x4F5C;&#x6BD4;&#x5176;&#x4ED6;&#x9593;&#x63A5;&#x8A9E;&#x8A00;&#x4E5F;&#x66F4;&#x76F4;&#x63A5;. &#x7531;&#x65BC;&#x73FE;&#x4EE3;&#x8A08;&#x7B97;&#x6A5F;&#x662F;&#x4E00;&#x500B;&#x4F75;&#x884C;&#x7684;&#x6A5F;&#x5668;, Go&#x63D0;&#x4F9B;&#x4E86;&#x57FA;&#x65BC;CSP&#x7684;&#x4F75;&#x9AEE;&#x7279;&#x6027;. Go&#x7684;&#x52D5;&#x614B;&#x68E7;&#x4F7F;&#x5F97;&#x8F15;&#x91CF;&#x7D1A;&#x7DAB;&#x7A0B;goroutine&#x7684;&#x521D;&#x59CB;&#x68E7;&#x5F88;&#x5C0F;, &#x5275;&#x5EFA;&#x4E00;&#x500B;goroutine&#x7684;&#x4EE3;&#x50F9;&#x5F88;&#x5C0F;, &#x56E0;&#x6B64;&#x5275;&#x5EFA;&#x767E;&#x842C;&#x7D1A;&#x7684;goroutine&#x662F;&#x53EF;&#x884C;&#x7684;.</p>
<p>Go&#x7684;&#x6A19;&#x6E96;&#x5EAB;(&#x901A;&#x5E38;&#x88AB;&#x7A31;&#x70BA;&#x81EA;&#x5E36;&#x7684;&#x96FB;&#x6C60;), &#x63D0;&#x4F9B;&#x4E86;&#x6E05;&#x6670;&#x7684;&#x69CB;&#x5EFA;&#x6A21;&#x584A;&#x548C;&#x63A5;&#x53E3;, &#x5305;&#x542B; I/O, &#x6587;&#x672C;&#x8655;&#x7406;, &#x5716;&#x50CF;, &#x5BC6;&#x78BC;&#x5B78;, &#x7DB2;&#x7D61;, &#x548C;&#x5206;&#x4F48;&#x5F0F;&#x61C9;&#x7528;&#x7A0B;&#x5E8F;, &#x4F75;&#x652F;&#x6301;&#x8A31;&#x591A;&#x6A19;&#x6E96;&#x7684;&#x6587;&#x4EF6;&#x683C;&#x5F0F;&#x548C;&#x5354;&#x8B70;. &#x5EAB;&#x548C;&#x5DE5;&#x5177;&#x4F7F;&#x7528;&#x5927;&#x91CF;&#x7684;&#x7D04;&#x5B9A;&#x4F86;&#x6E1B;&#x5C11;&#x984D;&#x5916;&#x7684;&#x914D;&#x7F6E;&#x548C;&#x89E3;&#x91CB;, &#x5F9E;&#x800C;&#x7C21;&#x5316;&#x7A0B;&#x5E8F;&#x7684;&#x908F;&#x8F2F;, &#x800C;&#x4E14;&#x6BCF;&#x500B;Go&#x7A0B;&#x5E8F;&#x7D50;&#x69CB;&#x90FD;&#x662F;&#x5982;&#x6B64;&#x7684;&#x76F8;&#x4F3C;, &#x56E0;&#x6B64;&#x4E5F;&#x66F4;&#x5BB9;&#x6613;&#x5B78;&#x7FD2;. &#x69CB;&#x5EFA;&#x9805;&#x76EE;&#x4F7F;&#x7528;&#x7684;Go&#x5DE5;&#x5177;&#x96BB;&#x4F7F;&#x7528;&#x6587;&#x4EF6;&#x540D;&#x548C;&#x6A19;&#x8B58;&#x7B26;&#x540D;&#x7A31;, &#x4E00;&#x500B;&#x5076;&#x723E;&#x7684;&#x7279;&#x6B8A;&#x8A3B;&#x91CB;&#x4F86;&#x78BA;&#x5B9A;&#x6240;&#x6709;&#x7684;&#x5EAB;, &#x53EF;&#x57F7;&#x884C;&#x6587;&#x4EF6;, &#x6E2C;&#x8A66;, &#x57FA;&#x6E96;&#x6E2C;&#x8A66;, &#x4F8B;&#x5B50;, &#x7279;&#x5B9A;&#x65BC;&#x5E73;&#x98B1;&#x7684;&#x8B8A;&#x91CF;, &#x9805;&#x76EE;&#x7684;&#x6587;&#x6A94;; Go&#x6E90;&#x4EE3;&#x78BC;&#x672C;&#x8EAB;&#x5305;&#x542B;&#x69CB;&#x5EFA;&#x898F;&#x7BC4;.</p>
Go&#x9805;&#x76EE;&#x662F;&#x5728;Google&#x8D85;&#x7D1A;&#x8907;&#x96DC;&#x7684;&#x5E7E;&#x500B;&#x8EDF;&#x4EF6;&#x7E6B;&#x7D71;&#x9047;&#x5230;&#x7684;&#x4E00;&#x4E9B;&#x554F;&#x984C;&#x7684;&#x53CD;&#x601D;(&#x4F46;&#x662F;&#x9019;&#x500B;&#x554F;&#x984C;&#x7D76;&#x4E0D;&#x662F;&#x8C37;&#x6B4C;&#x7279;&#x6709;&#x7684;).</p>
<p>&#x6B63;&#x5982;Rob Pike&#x6240;&#x8AAC;, &#x201C;&#x8907;&#x96DC;&#x6027;&#x662F;&#x4E58;&#x6CD5;&#x7D1A;&#x76F8;&#x95DC;&#x7684;&#x201D;, &#x901A;&#x904E;&#x589E;&#x52A0;&#x4E00;&#x500B;&#x90E8;&#x5206;&#x7684;&#x8907;&#x96DC;&#x6027;&#x4F86;&#x8129;&#x8907;&#x554F;&#x984C;&#x901A;&#x5E38;&#x5C07;&#x6162;&#x6162;&#x5730;&#x589E;&#x52A0;&#x5176;&#x4ED6;&#x90E8;&#x5206;&#x7684;&#x8907;&#x96DC;&#x6027;. &#x901A;&#x904E;&#x589E;&#x52A0;&#x529F;&#x80FD;&#x548C;&#x9078;&#x9805;&#x548C;&#x914D;&#x7F6E;&#x662F;&#x8129;&#x8907;&#x554F;&#x984C;&#x7684;&#x6700;&#x5FEB;&#x7684;&#x9014;&#x5F91;, &#x4F46;&#x662F;&#x9019;&#x5F88;&#x5BB9;&#x6613;&#x5FFD;&#x7565;&#x7C21;&#x6F54;&#x7684;&#x5167;&#x6DB5;, &#x537D;&#x4F7F;&#x5F9E;&#x9577;&#x9060;&#x4F86;&#x770B;, &#x7C21;&#x6F54;&#x4F9D;&#x7136;&#x662F;&#x597D;&#x7684;&#x8EDF;&#x4EF6;&#x95DC;&#x9375;&#x56E0;&#x7D20;.</p>
<p>&#x7C21;&#x6F54;&#x9700;&#x8981;&#x5728;&#x5DE5;&#x4F5C;&#x958B;&#x59CB;&#x7684;&#x6642;&#x5019;&#x6E1B;&#x5C11;&#x4E0D;&#x5FC5;&#x8981;&#x7684;&#x60F3;&#x6CD5;, &#x4F75;&#x4E14;&#x5728;&#x8EDF;&#x4EF6;&#x7684;&#x751F;&#x547D;&#x9031;&#x671F;&#x5167;&#x56B4;&#x683C;&#x5340;&#x522B;&#x597D;&#x7684;&#x6539;&#x8B8A;&#x6216;&#x58DE;&#x7684;&#x6539;&#x8B8A;. &#x901A;&#x904E;&#x8DB3;&#x5920;&#x7684;&#x52AA;&#x529B;, &#x4E00;&#x500B;&#x597D;&#x7684;&#x6539;&#x8B8A;&#x53EF;&#x4EE5;&#x5728;&#x4E0D;&#x7834;&#x58DE;&#x5B8C;&#x6574;&#x6982;&#x5FF5;&#x7684;&#x524D;&#x63D0;&#x4E0B;&#x4FDD;&#x6301;&#x81EA;&#x9069;&#x61C9;, &#x6B63;&#x5982; Fred Brooks &#x6240;&#x8AAC;&#x7684; &quot;&#x6982;&#x5FF5;&#x5B8C;&#x6574;&#x6027;&quot;; &#x800C;&#x4E00;&#x500B;&#x58DE;&#x7684;&#x6539;&#x8B8A;&#x5247;&#x4E0D;&#x80FD;, &#x5B83;&#x5011;&#x50C5;&#x50C5;&#x662F;&#x901A;&#x904E;&#x819A;&#x6DFA;&#x7684;&#x7C21;&#x55AE;&#x7684;&#x59A5;&#x5354;&#x4F86;&#x7834;&#x58DE;&#x8A2D;&#x8A08;&#x7684;&#x4E00;&#x81F4;&#x6027;. &#x96BB;&#x6709;&#x901A;&#x904E;&#x7C21;&#x6F54;&#x7684;&#x8A2D;&#x8A08;, &#x7E94;&#x80FD;&#x8B93;&#x4E00;&#x500B;&#x7E6B;&#x7D71;&#x4FDD;&#x6301;&#x7A69;&#x5B9A;, &#x5B89;&#x5168;, &#x548C;&#x6301;&#x7E8C;&#x7684;&#x751F;&#x9577;.</p>
<p>Go&#x9805;&#x76EE;&#x5305;&#x62EC;&#x8A9E;&#x8A00;&#x672C;&#x8EAB;, &#x9644;&#x5E36;&#x7684;&#x5DE5;&#x5177;&#x548C;&#x6A19;&#x6E96;&#x5EAB;, &#x6700;&#x5F8C;&#x4F46;&#x4F75;&#x975E;&#x4E0D;&#x91CD;&#x8981;&#x7684;, &#x7C21;&#x6F54;&#x7DE8;&#x7A0B;&#x54F2;&#x5B78;&#x7684;&#x5BA3;&#x8A00;. &#x5C31;&#x4E8B;&#x5F8C;&#x7684;&#x76EE;&#x5149;&#x4F86;&#x770B;, Go&#x7684;&#x9019;&#x4E9B;&#x5730;&#x65B9;&#x90FD;&#x505A;&#x7684;&#x4E0D;&#x932F;: &#x64C1;&#x6709;&#x81EA;&#x52D5;&#x5783;&#x573E;&#x8FF4;&#x6536;, &#x4E00;&#x500B;&#x5305;&#x7E6B;&#x7D71;, &#x51FD;&#x6578;&#x4F5C;&#x7232;&#x4E00;&#x7B49;&#x516C;&#x6C11;, &#x8A5E;&#x6CD5;&#x4F5C;&#x7528;&#x57DF;, &#x7E6B;&#x7D71;&#x8ABF;&#x7528;&#x63A5;&#x53E3;, &#x96BB;&#x8B80;&#x7684;UTF8&#x5B57;&#x7B26;&#x4E32;. &#x4F46;&#x662F;Go&#x96BB;&#x6709;&#x76F8;&#x5C0D;&#x8F03;&#x5C11;&#x7684;&#x7279;&#x6027;, &#x4E5F;&#x4E0D;&#x592A;&#x53EF;&#x80FD;&#x5C0D;&#x6DFB;&#x52A0;&#x66F4;&#x591A;. &#x4F8B;&#x5982;, &#x5B83;&#x6C92;&#x6709;&#x96B1;&#x5F0F;&#x7684;&#x6578;&#x503C;&#x8F49;&#x63DB;, &#x6C92;&#x6709;&#x69CB;&#x9020;&#x51FD;&#x6578;&#x548C;&#x6790;&#x69CB;&#x51FD;&#x6578;, &#x6C92;&#x6709;&#x904B;&#x7B97;&#x7B26;&#x91CD;&#x8F09;, &#x6C92;&#x6709;&#x9ED8;&#x8A8D;&#x53C3;&#x6578;, &#x6C92;&#x6709;&#x7E7C;&#x627F;, &#x6C92;&#x6709;&#x6CDB;&#x578B;, &#x6C92;&#x6709;&#x7570;&#x5E38;, &#x6C92;&#x6709;&#x5B8F;, &#x6C92;&#x6709;&#x51FD;&#x6578;&#x8129;&#x98FE;, &#x6C92;&#x6709;&#x7DDA;&#x7A0B;&#x5C40;&#x90E8;&#x5B58;&#x5132;. &#x4F46;&#x662F;&#x8A9E;&#x8A00;&#x662F;&#x6210;&#x719F;&#x548C;&#x7A69;&#x5B9A;&#x7684;, &#x800C;&#x4E14;&#x4FDD;&#x8B49;&#x5411;&#x5F8C;&#x517C;&#x5BB9;: &#x4EE5;&#x524D;&#x7684;Go&#x7A0B;&#x5E8F;&#x53EF;&#x4EE5;&#x7528;&#x65B0;&#x7248;&#x672C;&#x7684;&#x7DE8;&#x8B6F;&#x5668;&#x548C;&#x6A19;&#x6E96;&#x5EAB;&#x4E0B;&#x69CB;&#x5EFA;.</p>
<p>Go&#x6709;&#x8DB3;&#x5920;&#x7684;&#x985E;&#x578B;&#x7E6B;&#x7D71;&#x4EE5;&#x907F;&#x514D;&#x52D5;&#x614B;&#x8A9E;&#x8A00;&#x4E2D;&#x90A3;&#x4E9B;&#x7C97;&#x5FC3;&#x7684;&#x985E;&#x578B;&#x932F;&#x8AA4;, &#x4F46;&#x662F;Go&#x7684;&#x985E;&#x578B;&#x7E6B;&#x7D71;&#x76F8;&#x6BD4;&#x50B3;&#x7D71;&#x7684;&#x5F37;&#x985E;&#x578B;&#x8A9E;&#x8A00;&#x53C8;&#x8981;&#x7C21;&#x6F54;&#x5F88;&#x591A;. &#x6709;&#x6642;&#x5019;&#x9019;&#x6703;&#x5C0E;&#x81F4;&#x4E00;&#x500B;&quot;&#x7121;&#x985E;&#x578B;&quot;&#x7684;&#x62BD;&#x8C61;&#x985E;&#x578B;, &#x4F46;&#x662F;Go&#x7A0B;&#x5E8F;&#x54E1;&#x4F75;&#x4E0D;&#x9700;&#x8981;&#x50CF; C++ &#x6216; Haskell &#x7A0B;&#x5E8F;&#x54E1;&#x90A3;&#x6A23;&#x7CFE;&#x7D50;&#x5177;&#x9AD4;&#x985E;&#x578B;&#x7684;&#x5B89;&#x5168;&#x5C6C;&#x6027;. &#x4F46;&#x5BE6;&#x8E10;&#x4E2D;Go&#x7684;&#x7C21;&#x6F54;&#x7684;&#x985E;&#x578B;&#x7E6B;&#x7D71;&#x7D66;&#x4E86;&#x7A0B;&#x5E8F;&#x54E1;&#x66F4;&#x591A;&#x7684;&#x5B89;&#x5168;&#x6027;&#x548C;&#x66F4;&#x597D;&#x7684;&#x904B;&#x884C;&#x6642;&#x6027;&#x80FD;.</p>
<p>Go &#x9F13;&#x52F5;&#x7576;&#x4EE3;&#x8A08;&#x7B97;&#x6A5F;&#x7E6B;&#x7D71;&#x8A2D;&#x8A08;&#x7684;&#x8A8D;&#x8B58;, &#x7279;&#x522B;&#x662F;&#x5C40;&#x90E8;&#x7684;&#x91CD;&#x8981;&#x6027;. &#x5B83;&#x7684;&#x5167;&#x7F6E;&#x6578;&#x64DA;&#x985E;&#x578B;&#x548C;&#x5927;&#x591A;&#x6578;&#x7684;&#x6E96;&#x5EAB;&#x6578;&#x64DA;&#x7D50;&#x69CB;&#x90FD;&#x7D93;&#x904E;&#x7CBE;&#x5FC3;&#x8A2D;&#x8A08;&#x800C;&#x907F;&#x514D;&#x986F;&#x5F0F;&#x7684;&#x521D;&#x59CB;&#x5316;&#x6216;&#x96B1;&#x5F0F;&#x7684;&#x69CB;&#x9020;&#x51FD;&#x6578;, &#x56E0;&#x6B64;&#x8F03;&#x5C11;&#x7684;&#x5167;&#x5B58;&#x5206;&#x914D;&#x548C;&#x5167;&#x5B58;&#x521D;&#x59CB;&#x5316;&#x88AB;&#x96B1;&#x85CF;&#x5728;&#x4E86;&#x4EE3;&#x78BC;&#x4E2D;. Go&#x7684;&#x805A;&#x5408;&#x985E;&#x578B;(&#x7D50;&#x69CB;&#x9AD4;&#x548C;&#x6578;&#x7D44;)&#x76F4;&#x63A5;&#x64CD;&#x4F5C;&#x5B83;&#x5011;&#x7684;&#x5143;&#x7D20;, &#x9700;&#x8981;&#x66F4;&#x5C11;&#x7684;&#x5B58;&#x5132;&#x7A7A;&#x9593;, &#x66F4;&#x5C11;&#x7684;&#x5167;&#x5B58;&#x5206;&#x914D;, &#x800C;&#x4E14;&#x6307;&#x91DD;&#x64CD;&#x4F5C;&#x6BD4;&#x5176;&#x4ED6;&#x9593;&#x63A5;&#x8A9E;&#x8A00;&#x4E5F;&#x66F4;&#x76F4;&#x63A5;. &#x7531;&#x65BC;&#x73FE;&#x4EE3;&#x8A08;&#x7B97;&#x6A5F;&#x662F;&#x4E00;&#x500B;&#x4F75;&#x884C;&#x7684;&#x6A5F;&#x5668;, Go&#x63D0;&#x4F9B;&#x4E86;&#x57FA;&#x65BC;CSP&#x7684;&#x4F75;&#x767C;&#x7279;&#x6027;. Go&#x7684;&#x52D5;&#x614B;&#x68E7;&#x4F7F;&#x5F97;&#x8F15;&#x91CF;&#x7D1A;&#x7DDA;&#x7A0B;goroutine&#x7684;&#x521D;&#x59CB;&#x68E7;&#x5F88;&#x5C0F;, &#x5275;&#x5EFA;&#x4E00;&#x500B;goroutine&#x7684;&#x4EE3;&#x50F9;&#x5F88;&#x5C0F;, &#x56E0;&#x6B64;&#x5275;&#x5EFA;&#x767E;&#x842C;&#x7D1A;&#x7684;goroutine&#x662F;&#x53EF;&#x884C;&#x7684;.</p>
<p>Go&#x7684;&#x6A19;&#x6E96;&#x5EAB;(&#x901A;&#x5E38;&#x88AB;&#x7A31;&#x7232;&#x81EA;&#x5E36;&#x7684;&#x96FB;&#x6C60;), &#x63D0;&#x4F9B;&#x4E86;&#x6E05;&#x6670;&#x7684;&#x69CB;&#x5EFA;&#x6A21;&#x584A;&#x548C;&#x63A5;&#x53E3;, &#x5305;&#x542B; I/O, &#x6587;&#x672C;&#x8655;&#x7406;, &#x5716;&#x50CF;, &#x5BC6;&#x78BC;&#x5B78;, &#x7DB2;&#x7D61;, &#x548C;&#x5206;&#x5E03;&#x5F0F;&#x61C9;&#x7528;&#x7A0B;&#x5E8F;, &#x4F75;&#x652F;&#x6301;&#x8A31;&#x591A;&#x6A19;&#x6E96;&#x7684;&#x6587;&#x4EF6;&#x683C;&#x5F0F;&#x548C;&#x5354;&#x8B70;. &#x5EAB;&#x548C;&#x5DE5;&#x5177;&#x4F7F;&#x7528;&#x5927;&#x91CF;&#x7684;&#x7D04;&#x5B9A;&#x4F86;&#x6E1B;&#x5C11;&#x984D;&#x5916;&#x7684;&#x914D;&#x7F6E;&#x548C;&#x89E3;&#x91CB;, &#x5F9E;&#x800C;&#x7C21;&#x5316;&#x7A0B;&#x5E8F;&#x7684;&#x908F;&#x8F2F;, &#x800C;&#x4E14;&#x6BCF;&#x500B;Go&#x7A0B;&#x5E8F;&#x7D50;&#x69CB;&#x90FD;&#x662F;&#x5982;&#x6B64;&#x7684;&#x76F8;&#x4F3C;, &#x56E0;&#x6B64;&#x4E5F;&#x66F4;&#x5BB9;&#x6613;&#x5B78;&#x7FD2;. &#x69CB;&#x5EFA;&#x9805;&#x76EE;&#x4F7F;&#x7528;&#x7684;Go&#x5DE5;&#x5177;&#x96BB;&#x4F7F;&#x7528;&#x6587;&#x4EF6;&#x540D;&#x548C;&#x6A19;&#x8B58;&#x7B26;&#x540D;&#x7A31;, &#x4E00;&#x500B;&#x5076;&#x723E;&#x7684;&#x7279;&#x6B8A;&#x8A3B;&#x91CB;&#x4F86;&#x78BA;&#x5B9A;&#x6240;&#x6709;&#x7684;&#x5EAB;, &#x53EF;&#x57F7;&#x884C;&#x6587;&#x4EF6;, &#x6E2C;&#x8A66;, &#x57FA;&#x6E96;&#x6E2C;&#x8A66;, &#x4F8B;&#x5B50;, &#x7279;&#x5B9A;&#x65BC;&#x5E73;&#x98B1;&#x7684;&#x8B8A;&#x91CF;, &#x9805;&#x76EE;&#x7684;&#x6587;&#x6A94;; Go&#x6E90;&#x4EE3;&#x78BC;&#x672C;&#x8EAB;&#x5305;&#x542B;&#x69CB;&#x5EFA;&#x898F;&#x8303;.</p>
</section>

View File

@@ -48,7 +48,7 @@
<body>
<div class="book" data-level="0.3" data-chapter-title="本書的組織" data-filepath="ch0/ch0-03.md" data-basepath=".." data-revision="Wed Dec 16 2015 10:54:29 GMT+0800 (中国标准时间)">
<div class="book" data-level="0.3" data-chapter-title="本書的組織" data-filepath="ch0/ch0-03.md" data-basepath=".." data-revision="Mon Dec 21 2015 12:51:02 GMT+0800 (中国标准时间)">
<div class="book-summary">
@@ -146,7 +146,7 @@
<b>0.5.</b>
</a>
@@ -212,7 +212,7 @@
<b>1.3.</b>
査找重的行
査找重的行
</a>
@@ -227,7 +227,7 @@
<b>1.4.</b>
GIF動
GIF動
</a>
@@ -257,7 +257,7 @@
<b>1.6.</b>
穫取多個URL
穫取多個URL
</a>
@@ -479,7 +479,7 @@
<b>3.3.</b>
</a>
@@ -494,7 +494,7 @@
<b>3.4.</b>
爾型
爾型
</a>
@@ -544,7 +544,7 @@
<b>4.</b>
復閤數據類型
複合數據類型
</a>
@@ -857,7 +857,7 @@
<b>6.2.</b>
基於指對象的方法
基於指對象的方法
</a>
@@ -887,7 +887,7 @@
<b>6.4.</b>
方法值和方法達式
方法值和方法達式
</a>
@@ -953,7 +953,7 @@
<b>7.1.</b>
接口是
接口是
</a>
@@ -1073,7 +1073,7 @@
<b>7.9.</b>
示例: 達式求值
示例: 達式求值
</a>
@@ -1103,7 +1103,7 @@
<b>7.11.</b>
基於類型斷言識錯誤類型
基於類型斷言識錯誤類型
</a>
@@ -1214,7 +1214,7 @@
<b>8.2.</b>
示例: 併的Clock服務
示例: 併的Clock服務
</a>
@@ -1229,7 +1229,7 @@
<b>8.3.</b>
示例: 併的Echo服務
示例: 併的Echo服務
</a>
@@ -1274,7 +1274,7 @@
<b>8.6.</b>
示例: 併的Web爬蟲
示例: 併的Web爬蟲
</a>
@@ -1289,7 +1289,7 @@
<b>8.7.</b>
基於select的多路
基於select的多路
</a>
@@ -1304,7 +1304,7 @@
<b>8.8.</b>
示例: 併的字典遍歷
示例: 併的字典遍歷
</a>
@@ -1319,7 +1319,7 @@
<b>8.9.</b>
的退齣
的退齣
</a>
@@ -1354,7 +1354,7 @@
<b>9.</b>
基於共享變量的併
基於共享變量的併
</a>
@@ -1415,7 +1415,7 @@
<b>9.4.</b>
內存
內存
</a>
@@ -1460,7 +1460,7 @@
<b>9.7.</b>
示例: 併的非阻塞緩存
示例: 併的非阻塞緩存
</a>
@@ -1475,7 +1475,7 @@
<b>9.8.</b>
Goroutines和
Goroutines和
</a>
@@ -1748,7 +1748,7 @@
<b>12.1.</b>
何需要反射?
何需要反射?
</a>
@@ -1793,7 +1793,7 @@
<b>12.4.</b>
示例: 編碼S達式
示例: 編碼S達式
</a>
@@ -1823,7 +1823,7 @@
<b>12.6.</b>
示例: 解碼S達式
示例: 解碼S達式
</a>
@@ -1975,50 +1975,14 @@
</li>
<li class="chapter " data-level="14" data-path="exercise/ex.html">
<a href="../exercise/ex.html">
<i class="fa fa-check"></i>
<b>14.</b>
習題解答
</a>
<ul class="articles">
<li class="chapter " data-level="14.1" data-path="exercise/ex-ch1.html">
<a href="../exercise/ex-ch1.html">
<i class="fa fa-check"></i>
<b>14.1.</b>
第一章 入門
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="15" data-path="errata.html">
<li class="chapter " data-level="14" data-path="errata.html">
<a href="../errata.html">
<i class="fa fa-check"></i>
<b>15.</b>
<b>14.</b>
勘誤
</a>
@@ -2062,33 +2026,33 @@
<h2 id="&#x672C;&#x66F8;&#x7684;&#x7D44;&#x7E54;">&#x672C;&#x66F8;&#x7684;&#x7D44;&#x7E54;</h2>
<p>&#x6211;&#x5011;&#x5047;&#x8A2D;&#x4F60;&#x6709;&#x4E00;&#x500B;&#x6216;&#x591A;&#x500B;&#x5176;&#x4ED6;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;&#x7684;&#x4F7F;&#x7528;&#x7D93;&#x6B77;, &#x4E0D;&#x904E;&#x662F;&#x985E;&#x4F3C; C&#x3001;c++,&#x548C;Java &#x7684;&#x7DE8;&#x8B6F;&#x578B;&#x8A9E;&#x8A00;,
&#x9084;&#x662F;&#x985E;&#x4F3C; Python, Ruby, JavaScript &#x7684;&#x8173;&#x672C;&#x8A9E;&#x8A00;, &#x56E0;&#x6B64;&#x6211;&#x5011;&#x4E0D;&#x6703;&#x76F8;&#x5C0D;&#x5B8C;&#x5168;&#x7684;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;&#x521D;&#x5B78;&#x8005;&#x90A3;&#x6A23;&#x89E3;&#x91CB;&#x6240;&#x6709;&#x7684;&#x7D30;&#x7BC0;.
&#x56E0;&#x70BA;Go&#x7684;&#x8A9E;&#x8A00;&#x7684; &#x8B8A;&#x91CF;,&#x5E38;&#x91CF;,&#x9336;&#x9054;&#x5F0F;,&#x63A7;&#x88FD;&#x6D41;&#x548C;&#x51FD;&#x6578;&#x7B49;&#x8A9E;&#x6CD5;&#x4E5F;&#x662F;&#x985E;&#x4F3C;&#x7684;.</p>
&#x56E0;&#x7232;Go&#x7684;&#x8A9E;&#x8A00;&#x7684; &#x8B8A;&#x91CF;,&#x5E38;&#x91CF;,&#x8868;&#x9054;&#x5F0F;,&#x63A7;&#x88FD;&#x6D41;&#x548C;&#x51FD;&#x6578;&#x7B49;&#x8A9E;&#x6CD5;&#x4E5F;&#x662F;&#x985E;&#x4F3C;&#x7684;.</p>
<p>&#x7B2C;&#x4E00;&#x7AE0;&#x5305;&#x542B;&#x4E86;Go&#x654E;&#x7A0B;&#x7684;&#x57FA;&#x672C;&#x7D50;&#x69CB;, &#x901A;&#x904E;&#x5341;&#x5E7E;&#x500B;&#x7A0B;&#x5E8F;&#x4ECB;&#x7D39;&#x4E86;&#x7528;Go&#x5982;&#x4F55;&#x5BE6;&#x73FE; &#x985E;&#x4F3C;&#x8B80;&#x5BEB;&#x6587;&#x4EF6;, &#x6587;&#x672C;&#x683C;&#x5F0F;&#x5316;, &#x5275;&#x5EFA;&#x5716;&#x50CF;,
&#x7DB2;&#x7D61;&#x5BA2;&#x6236;&#x7AEF;&#x548C;&#x670D;&#x52D9;&#x5668;&#x901A;&#x8A0A; &#x7B49;&#x65E5;&#x5E38;&#x5DE5;&#x4F5C;.</p>
<p>&#x7B2C;&#x4E8C;&#x7AE0;&#x63CF;&#x8FF0;&#x4E86;&#x4E00;&#x500B;Go&#x7A0B;&#x5E8F;&#x7684;&#x57FA;&#x672C;&#x5143;&#x7D20;&#x7D50;&#x69CB;, &#x8B8A;&#x91CF;, &#x5B9A;&#x7FA9;&#x65B0;&#x7684;&#x985E;&#x578B;, &#x5305;&#x548C;&#x6587;&#x4EF6;, &#x548C;&#x4F5C;&#x7528;&#x57DF;. &#x7B2C;&#x4E09;&#x7AE0;&#x8A0E;&#x8AD6;&#x4E86;&#x6578;&#x5B57;, &#x4F48;&#x723E;&#x503C;, &#x5B57;&#x7B26;&#x4E32;&#x548C;&#x5E38;&#x91CF;, &#x4F75;&#x6F14;&#x793A;&#x4E86;&#x5982;&#x4F55;&#x986F;&#x793A;&#x548C;&#x8655;&#x7406;Unicode. &#x7B2C;&#x56DB;&#x7AE0;&#x63CF;&#x8FF0;&#x4E86;&#x5FA9;&#x95A4;&#x985E;&#x578B;, &#x5F9E;&#x7C21;&#x55AE;&#x7684;&#x6578;&#x7D44;, &#x5B57;&#x5178;, &#x5207;&#x7247;, &#x5230;&#x52D5;&#x614B;&#x5217;&#x9336;. &#x7B2C;&#x4E94;&#x7AE0;&#x6DB5;&#x84CB;&#x4E86;&#x51FD;&#x6578;, &#x4F75;&#x8A0E;&#x8AD6;&#x4E86;&#x932F;&#x8AA4;&#x8655;&#x7406;, panic &#x548C; recover, &#x548C; defer &#x8A9E;&#x53E5;.</p>
<p>&#x7B2C;&#x4E09;&#x7AE0;&#x8A0E;&#x8AD6;&#x4E86;&#x6578;&#x5B57;&#x3001;&#x4F48;&#x723E;&#x503C;&#x3001;&#x5B57;&#x7B26;&#x4E32;&#x548C;&#x5E38;&#x6578;,&#x4F75;&#x89E3;&#x91CB;&#x986F;&#x793A;&#x8655;&#x7406;Unicode&#x3002;
&#x7B2C;&#x56DB;&#x7AE0;&#x63CF;&#x8FF0;&#x4E86;&#x5FA9;&#x95A4;&#x985E;&#x578B;,&#x985E;&#x578B;&#x5EFA;&#x7ACB;&#x4F7F;&#x7528;&#x6578;&#x7D44;,&#x5F9E;&#x7C21;&#x55AE;&#x7684;&#x5730;&#x5716;,&#x7D50;&#x69CB;,&#x548C;&#x5207;&#x5272;&#x7684;&#x65B9;&#x6CD5;&#x53BB;&#x52D5;&#x614B;&#x5217;&#x9336;&#x3002;&#x7B2C;&#x4E94;&#x7AE0;&#x6DB5;&#x84CB;&#x4E86;&#x51FD;&#x6578;&#x548C;&#x8A0E;&#x8AD6;&#x932F;&#x8AA4;&#x8655;&#x7406;,&#x6050;&#x614C;&#x548C;&#x6062;&#x5FA9;,&#x800C;&#x63A8;&#x9072;&#x7684;&#x9673;&#x8FF0;&#x3002;</p>
<p>&#x7B2C;&#x4E8C;&#x7AE0;&#x63CF;&#x8FF0;&#x4E86;&#x4E00;&#x500B;Go&#x7A0B;&#x5E8F;&#x7684;&#x57FA;&#x672C;&#x5143;&#x7D20;&#x7D50;&#x69CB;, &#x8B8A;&#x91CF;, &#x5B9A;&#x7FA9;&#x65B0;&#x7684;&#x985E;&#x578B;, &#x5305;&#x548C;&#x6587;&#x4EF6;, &#x548C;&#x4F5C;&#x7528;&#x57DF;. &#x7B2C;&#x4E09;&#x7AE0;&#x8A0E;&#x8AD6;&#x4E86;&#x6578;&#x5B57;, &#x5E03;&#x723E;&#x503C;, &#x5B57;&#x7B26;&#x4E32;&#x548C;&#x5E38;&#x91CF;, &#x4F75;&#x6F14;&#x793A;&#x4E86;&#x5982;&#x4F55;&#x986F;&#x793A;&#x548C;&#x8655;&#x7406;Unicode. &#x7B2C;&#x56DB;&#x7AE0;&#x63CF;&#x8FF0;&#x4E86;&#x8907;&#x5408;&#x985E;&#x578B;, &#x5F9E;&#x7C21;&#x55AE;&#x7684;&#x6578;&#x7D44;, &#x5B57;&#x5178;, &#x5207;&#x7247;, &#x5230;&#x52D5;&#x614B;&#x5217;&#x8868;. &#x7B2C;&#x4E94;&#x7AE0;&#x6DB5;&#x84CB;&#x4E86;&#x51FD;&#x6578;, &#x4F75;&#x8A0E;&#x8AD6;&#x4E86;&#x932F;&#x8AA4;&#x8655;&#x7406;, panic &#x548C; recover, &#x548C; defer &#x8A9E;&#x53E5;.</p>
<p>&#x7B2C;&#x4E09;&#x7AE0;&#x8A0E;&#x8AD6;&#x4E86;&#x6578;&#x5B57;&#x3001;&#x5E03;&#x723E;&#x503C;&#x3001;&#x5B57;&#x7B26;&#x4E32;&#x548C;&#x5E38;&#x6578;,&#x4F75;&#x89E3;&#x91CB;&#x986F;&#x793A;&#x8655;&#x7406;Unicode&#x3002;
&#x7B2C;&#x56DB;&#x7AE0;&#x63CF;&#x8FF0;&#x4E86;&#x8907;&#x5408;&#x985E;&#x578B;,&#x985E;&#x578B;&#x5EFA;&#x7ACB;&#x4F7F;&#x7528;&#x6578;&#x7D44;,&#x5F9E;&#x7C21;&#x55AE;&#x7684;&#x5730;&#x5716;,&#x7D50;&#x69CB;,&#x548C;&#x5207;&#x5272;&#x7684;&#x65B9;&#x6CD5;&#x53BB;&#x52D5;&#x614B;&#x5217;&#x8868;&#x3002;&#x7B2C;&#x4E94;&#x7AE0;&#x6DB5;&#x84CB;&#x4E86;&#x51FD;&#x6578;&#x548C;&#x8A0E;&#x8AD6;&#x932F;&#x8AA4;&#x8655;&#x7406;,&#x6050;&#x614C;&#x548C;&#x6062;&#x8907;,&#x800C;&#x63A8;&#x9072;&#x7684;&#x9673;&#x8FF0;&#x3002;</p>
<p>&#x7B2C;&#x4E00;&#x7AE0;&#x5230;&#x7B2C;&#x4E94;&#x7AE0;&#x662F;&#x57FA;&#x790E;&#x90E8;&#x5206;, &#x4EFB;&#x4F55;&#x4E3B;&#x6D41;&#x547D;&#x4EE4;&#x5F0F;&#x8A9E;&#x8A00;&#x7684;&#x4E00;&#x90E8;&#x5206;&#x90FD;&#x662F;&#x985E;&#x4F3C;&#x7684;. &#x96D6;&#x7136;&#x6709;&#x6642;&#x5019;Go&#x7684;&#x8A9E;&#x6CD5;&#x548C;&#x98A8;&#x683C;&#x6703;&#x6709;&#x81EA;&#x5DF1;&#x7684;&#x7279;&#x8272;, &#x4F46;&#x662F;&#x5927;&#x591A;&#x6578;&#x7A0B;&#x5E8F;&#x54E1;&#x5C07;&#x5F88;&#x5FEB;&#x9069;&#x61C9;.
&#x5269;&#x4E0B;&#x7684;&#x7AE0;&#x7BC0;&#x662F;Go&#x4E2D;&#x7279;&#x6709;&#x7684;&#x90E8;&#x5206;: &#x65B9;&#x6CD5;, &#x63A5;&#x53E3;, &#x4F75;&#x9AEE;, &#x5305;, &#x6E2C;&#x8A66;&#x548C;&#x53CD;&#x5C04;&#x7B49;.</p>
<p>Go&#x7684;&#x9EAB;&#x66CF;&#x5C0D;&#x8C61;&#x662F;&#x4E0D;&#x8855;&#x5C0B;&#x5E38;&#x7684;. &#x5B83;&#x6C92;&#x6709;&#x985E;&#x5C64;&#x6B21;&#x7D50;&#x69CB;, &#x751A;&#x81F3;&#x6C92;&#x6709;&#x985E;; &#x50C5;&#x50C5;&#x662F;&#x901A;&#x904E;&#x7D44;&#x95A4;(&#x800C;&#x4E0D;&#x662F;&#x7E7C;&#x627F;)&#x7C21;&#x55AE;&#x7684;&#x5C0D;&#x8C61;&#x4F86;&#x69CB;&#x5EFA;&#x5FA9;&#x96DC;&#x7684;&#x5C0D;&#x8C61;.
&#x5269;&#x4E0B;&#x7684;&#x7AE0;&#x7BC0;&#x662F;Go&#x4E2D;&#x7279;&#x6709;&#x7684;&#x90E8;&#x5206;: &#x65B9;&#x6CD5;, &#x63A5;&#x53E3;, &#x4F75;&#x767C;, &#x5305;, &#x6E2C;&#x8A66;&#x548C;&#x53CD;&#x5C04;&#x7B49;.</p>
<p>Go&#x7684;&#x9762;&#x5411;&#x5C0D;&#x8C61;&#x662F;&#x4E0D;&#x540C;&#x5C0B;&#x5E38;&#x7684;. &#x5B83;&#x6C92;&#x6709;&#x985E;&#x5C64;&#x6B21;&#x7D50;&#x69CB;, &#x751A;&#x81F3;&#x6C92;&#x6709;&#x985E;; &#x50C5;&#x50C5;&#x662F;&#x901A;&#x904E;&#x7D44;&#x5408;(&#x800C;&#x4E0D;&#x662F;&#x7E7C;&#x627F;)&#x7C21;&#x55AE;&#x7684;&#x5C0D;&#x8C61;&#x4F86;&#x69CB;&#x5EFA;&#x8907;&#x96DC;&#x7684;&#x5C0D;&#x8C61;.
&#x65B9;&#x6CD5;&#x4E0D;&#x50C5;&#x50C5;&#x53EF;&#x4EE5;&#x5B9A;&#x7FA9;&#x5728;&#x7D50;&#x69CB;&#x9AD4;&#x4E0A;, &#x800C;&#x662F;&#x53EF;&#x4EE5;&#x5728;&#x4EFB;&#x4F55;&#x7528;&#x6236;&#x81EA;&#x5DF1;&#x5B9A;&#x7FA9;&#x7684;&#x985E;&#x578B;&#x4E0A;; &#x4F75;&#x4E14;&#x5177;&#x9AD4;&#x985E;&#x578B;&#x548C;&#x62BD;&#x8C61;&#x985E;&#x578B;(&#x63A5;&#x53E3;)&#x4E4B;&#x9593;&#x7684;&#x95DC;&#x7E6B;&#x662F;&#x96B1;&#x5F0F;&#x7684;,
&#x6240;&#x4EE5;&#x5F88;&#x591A;&#x985E;&#x578B;&#x7684;&#x8A2D;&#x8A08;&#x8005;&#x53EF;&#x80FD;&#x4F75;&#x4E0D;&#x77E5;&#x9053;&#x8A72;&#x985E;&#x578B;&#x5230;&#x5E95;&#x6EFF;&#x8DB3;&#x4E86;&#x54EA;&#x4E9B;&#x63A5;&#x53E3;. &#x65B9;&#x6CD5;&#x5728;&#x7B2C;&#x516D;&#x7AE0;&#x8A0E;&#x8AD6;, &#x63A5;&#x53E3;&#x5728;&#x7B2C;&#x4E03;&#x7AE0;&#x5C07;&#x8A0E;&#x8AD6;.</p>
<p>&#x7B2C;&#x516B;&#x7AE0;&#x8A0E;&#x8AD6;&#x4E86;&#x57FA;&#x65BC;&#x9806;&#x5E8F;&#x901A;&#x4FE1;&#x9032;&#x7A0B;(CSP)&#x7684;&#x6982;&#x5538;&#x7684;&#x4F75;&#x9AEE;&#x7DE8;&#x7A0B;, &#x4F7F;&#x7528; goroutines &#x548C; channels. &#x7B2C;&#x4E5D;&#x7AE0;&#x8A0E;&#x8AD6;&#x4E86;&#x66F4;&#x70BA;&#x50B3;&#x7D71;&#x7684;&#x57FA;&#x65BC;&#x5171;&#x4EAB;&#x8B8A;&#x91CF;&#x7684;&#x4F75;&#x9AEE;&#x6027;.</p>
<p>&#x7B2C;&#x516B;&#x7AE0;&#x8A0E;&#x8AD6;&#x4E86;&#x57FA;&#x65BC;&#x9806;&#x5E8F;&#x901A;&#x4FE1;&#x9032;&#x7A0B;(CSP)&#x7684;&#x6982;&#x5FF5;&#x7684;&#x4F75;&#x767C;&#x7DE8;&#x7A0B;, &#x4F7F;&#x7528; goroutines &#x548C; channels. &#x7B2C;&#x4E5D;&#x7AE0;&#x8A0E;&#x8AD6;&#x4E86;&#x66F4;&#x7232;&#x50B3;&#x7D71;&#x7684;&#x57FA;&#x65BC;&#x5171;&#x4EAB;&#x8B8A;&#x91CF;&#x7684;&#x4F75;&#x767C;&#x6027;.</p>
<p>&#x7B2C;&#x5341;&#x7AE0;&#x63CF;&#x8FF0;&#x4E86;&#x5305;&#x6A5F;&#x88FD;, &#x5305;&#x7684;&#x7D44;&#x7E54;&#x7D50;&#x69CB;. &#x672C;&#x7AE0;&#x9084;&#x5C55;&#x793A;&#x4E86;&#x5982;&#x4F55;&#x5229;&#x7528;&#x6709;&#x6548;&#x7684;&#x5229;&#x7528;Go&#x81EA;&#x5E36;&#x7684;&#x5DE5;&#x5177;,
&#x901A;&#x904E;&#x4E00;&#x500B;&#x547D;&#x4EE4;&#x63D0;&#x4F9B;&#x4E86;&#x7DE8;&#x8B6F;, &#x6E2C;&#x8A66;, &#x57FA;&#x6E96;&#x6E2C;&#x8A66;, &#x4EE3;&#x78BC;&#x683C;&#x5F0F;&#x5316;, &#x6587;&#x6A94;, &#x548C;&#x8A31;&#x591A;&#x5176;&#x4ED6;&#x4EFB;&#x52D9;.</p>
<p>&#x7B2C;&#x5341;&#x4E00;&#x7AE0;&#x8A0E;&#x8AD6;&#x55AE;&#x5143;&#x6E2C;&#x8A66;, Go&#x7684;&#x5DE5;&#x5177;&#x548C;&#x6A19;&#x6E96;&#x5EAB;&#x4E2D;&#x96C6;&#x6210;&#x4E86;&#x8F15;&#x91CF;&#x7D1A;&#x7684;&#x6E2C;&#x8A66;&#x529F;&#x80FD;, &#x5F9E;&#x800C;&#x907F;&#x514D;&#x4E86;&#x63A1;&#x7528;&#x5FA9;&#x96DC;&#x5F37;&#x5927;&#x7684;&#x6E2C;&#x8A66;&#x6846;&#x67B6;. &#x6E2C;&#x8A66;&#x5EAB;&#x63D0;&#x4F9B;&#x4E00;&#x4E9B;&#x57FA;&#x672C;&#x7684;&#x69CB;&#x5EFA;, &#x5982;&#x679C;&#x6709;&#x5FC5;&#x8981;&#x53EF;&#x4EE5;&#x69CB;&#x5EFA;&#x66F4;&#x5FA9;&#x96DC;&#x7684;&#x6E2C;&#x8A66;&#x62BD;&#x8C61;.</p>
<p>&#x7B2C;&#x5341;&#x4E00;&#x7AE0;&#x8A0E;&#x8AD6;&#x55AE;&#x5143;&#x6E2C;&#x8A66;, Go&#x7684;&#x5DE5;&#x5177;&#x548C;&#x6A19;&#x6E96;&#x5EAB;&#x4E2D;&#x96C6;&#x6210;&#x4E86;&#x8F15;&#x91CF;&#x7D1A;&#x7684;&#x6E2C;&#x8A66;&#x529F;&#x80FD;, &#x5F9E;&#x800C;&#x907F;&#x514D;&#x4E86;&#x91C7;&#x7528;&#x8907;&#x96DC;&#x5F37;&#x5927;&#x7684;&#x6E2C;&#x8A66;&#x6846;&#x67B6;. &#x6E2C;&#x8A66;&#x5EAB;&#x63D0;&#x4F9B;&#x4E00;&#x4E9B;&#x57FA;&#x672C;&#x7684;&#x69CB;&#x5EFA;, &#x5982;&#x679C;&#x6709;&#x5FC5;&#x8981;&#x53EF;&#x4EE5;&#x69CB;&#x5EFA;&#x66F4;&#x8907;&#x96DC;&#x7684;&#x6E2C;&#x8A66;&#x62BD;&#x8C61;.</p>
<p>&#x7B2C;&#x5341;&#x4E8C;&#x7AE0;&#x8A0E;&#x8AD6;&#x4E86;&#x53CD;&#x5C04;, &#x4E00;&#x500B;&#x7A0B;&#x5E8F;&#x5728;&#x904B;&#x884C;&#x671F;&#x9593;&#x4F86;&#x6AA2;&#x8996;&#x81EA;&#x5DF1;&#x7684;&#x80FD;&#x529B;. &#x53CD;&#x5C04;&#x662F;&#x4E00;&#x500B;&#x5F37;&#x5927;&#x7684;&#x5DE5;&#x5177;, &#x4E0D;&#x904E;&#x8981;&#x8B39;&#x614E;&#x5730;&#x4F7F;&#x7528;; &#x672C;&#x7AE0;&#x901A;&#x904E;&#x7528;&#x53CD;&#x5C04;&#x5BE6;&#x73FE;&#x4E00;&#x4E9B;&#x91CD;&#x8981;&#x7684;Go&#x5EAB;&#x4F86;&#x5C55;&#x793A;&#x4E86;&#x53CD;&#x5C04;&#x7684;&#x7528;&#x6CD5;. &#x7B2C;&#x5341;&#x4E09;&#x7AE0;&#x89E3;&#x91CB;&#x4E86;&#x4F4E;&#x7D1A;&#x7DE8;&#x7A0B;&#x7684;&#x7D30;&#x7BC0;, &#x901A;&#x904E;&#x4F7F;&#x7528; unsafe &#x5305;&#x4F86;&#x7E5E;&#x904E;Go&#x7684;&#x985E;&#x578B;&#x7E6B;&#x7D71;, &#x6709;&#x6642;&#x9019;&#x662F;&#x5FC5;&#x8981;&#x7684;.</p>
<p>&#x6BCF;&#x4E00;&#x7AE0;&#x6703;&#x6709;&#x4E00;&#x4E9B;&#x7DF4;&#x7FD2;, &#x4F60;&#x53EF;&#x4EE5;&#x6839;&#x64DA;&#x4F60;&#x5C0D;Go&#x8A9E;&#x8A00;&#x7684;&#x7406;&#x89E3;, &#x7136;&#x5F8C;&#x8129;&#x6539;&#x66F8;&#x4E2D;&#x7684;&#x4F8B;&#x5B50;&#x4F86;&#x63A2;&#x7D22;Go&#x7684;&#x5176;&#x4ED6;&#x7528;&#x6CD5;.</p>
<p>&#x66F8;&#x4E2D;&#x6240;&#x6709;&#x7684;&#x4EE3;&#x78BC;&#x90FD;&#x53EF;&#x4EE5;&#x5F9E; gopl.io &#x4E0A;&#x7684; Git &#x5009;&#x5EAB;&#x4E0B;&#x8F09;. go get&#x53EF;&#x4EE5;&#x6839;&#x64DA;&#x6BCF;&#x500B;&#x4F8B;&#x5B50;&#x7684;&#x5176;&#x5C0E;&#x5165;&#x8DEF;&#x5F91;&#x65B9;&#x4FBF;&#x5730;&#x7A6B;&#x53D6;/&#x69CB;&#x5EFA;/&#x4F75;&#x5B89;&#x88DD;. &#x4F60;&#x9700;&#x8981;&#x9078;&#x64C7;&#x4E00;&#x500B;&#x76EE;&#x5F54;&#x4F5C;&#x70BA;&#x5DE5;&#x4F5C;&#x7A7A;&#x9593;, &#x7136;&#x5F8C;&#x5C07;GOPATH&#x74B0;&#x5883;&#x6307;&#x66CF;&#x9019;&#x500B;&#x5DE5;&#x4F5C;&#x76EE;&#x5F54;.</p>
<p>Go&#x5DE5;&#x5177;&#x5C07;&#x5728;&#x5FC5;&#x8981;&#x6642;&#x5275;&#x5EFA;&#x7684;&#x76F8;&#x61C9;&#x7684;&#x76EE;&#x5F54;. &#x4F8B;&#x5982;:</p>
<pre><code>$ export GOPATH=$HOME/gobook # &#x9078;&#x64C7;&#x5DE5;&#x4F5C;&#x76EE;&#x5F54;
<p>&#x66F8;&#x4E2D;&#x6240;&#x6709;&#x7684;&#x4EE3;&#x78BC;&#x90FD;&#x53EF;&#x4EE5;&#x5F9E; gopl.io &#x4E0A;&#x7684; Git &#x5009;&#x5EAB;&#x4E0B;&#x8F09;. go get&#x53EF;&#x4EE5;&#x6839;&#x64DA;&#x6BCF;&#x500B;&#x4F8B;&#x5B50;&#x7684;&#x5176;&#x5C0E;&#x5165;&#x8DEF;&#x5F91;&#x65B9;&#x4FBF;&#x5730;&#x7A6B;&#x53D6;/&#x69CB;&#x5EFA;/&#x4F75;&#x5B89;&#x88DD;. &#x4F60;&#x9700;&#x8981;&#x9078;&#x64C7;&#x4E00;&#x500B;&#x76EE;&#x9332;&#x4F5C;&#x7232;&#x5DE5;&#x4F5C;&#x7A7A;&#x9593;, &#x7136;&#x5F8C;&#x5C07;GOPATH&#x74B0;&#x5883;&#x6307;&#x5411;&#x9019;&#x500B;&#x5DE5;&#x4F5C;&#x76EE;&#x9332;.</p>
<p>Go&#x5DE5;&#x5177;&#x5C07;&#x5728;&#x5FC5;&#x8981;&#x6642;&#x5275;&#x5EFA;&#x7684;&#x76F8;&#x61C9;&#x7684;&#x76EE;&#x9332;. &#x4F8B;&#x5982;:</p>
<pre><code>$ export GOPATH=$HOME/gobook # &#x9078;&#x64C7;&#x5DE5;&#x4F5C;&#x76EE;&#x9332;
$ go get gopl.io/ch1/helloworld # &#x7A6B;&#x53D6;/&#x7DE8;&#x8B6F;/&#x5B89;&#x88DD;
$ $GOPATH/bin/helloworld # &#x904B;&#x884C;
Hello, &#x4E16;&#x754C; # &#x9019;&#x662F;&#x4E2D;&#x6587;, &#x4E0D;&#x662F;&#x65E5;&#x6587;
</code></pre><p>&#x8981;&#x904B;&#x884C;&#x9019;&#x4E9B;&#x4F8B;&#x5B50;, &#x4F60;&#x9700;&#x8981;&#x5B89;&#x88DD;Go1.5&#x4EE5;&#x4E0A;&#x7684;&#x7248;&#x672C;.</p>
<p>$ go version
go version go1.5 linux/amd64</p>
<p>&#x5982;&#x679C;&#x4F60;&#x7528;&#x7684;&#x662F;&#x5176;&#x4ED6;&#x7684;&#x64CD;&#x4F5C;&#x7E6B;&#x7D71;, &#x8ACB;&#x53C3;&#x8003; <a href="https://golang.org/doc/install" target="_blank">https://golang.org/doc/install</a> &#x63D0;&#x4F9B;&#x7684;&#x8AAA;&#x660E;&#x5B89;&#x88DD;.</p>
<p>&#x5982;&#x679C;&#x4F60;&#x7528;&#x7684;&#x662F;&#x5176;&#x4ED6;&#x7684;&#x64CD;&#x4F5C;&#x7E6B;&#x7D71;, &#x8ACB;&#x53C3;&#x8003; <a href="https://golang.org/doc/install" target="_blank">https://golang.org/doc/install</a> &#x63D0;&#x4F9B;&#x7684;&#x8AAC;&#x660E;&#x5B89;&#x88DD;.</p>
</section>

View File

@@ -48,7 +48,7 @@
<body>
<div class="book" data-level="0.4" data-chapter-title="更多的信息" data-filepath="ch0/ch0-04.md" data-basepath=".." data-revision="Wed Dec 16 2015 10:54:29 GMT+0800 (中国标准时间)">
<div class="book" data-level="0.4" data-chapter-title="更多的信息" data-filepath="ch0/ch0-04.md" data-basepath=".." data-revision="Mon Dec 21 2015 12:51:02 GMT+0800 (中国标准时间)">
<div class="book-summary">
@@ -146,7 +146,7 @@
<b>0.5.</b>
</a>
@@ -212,7 +212,7 @@
<b>1.3.</b>
査找重的行
査找重的行
</a>
@@ -227,7 +227,7 @@
<b>1.4.</b>
GIF動
GIF動
</a>
@@ -257,7 +257,7 @@
<b>1.6.</b>
穫取多個URL
穫取多個URL
</a>
@@ -479,7 +479,7 @@
<b>3.3.</b>
</a>
@@ -494,7 +494,7 @@
<b>3.4.</b>
爾型
爾型
</a>
@@ -544,7 +544,7 @@
<b>4.</b>
復閤數據類型
複合數據類型
</a>
@@ -857,7 +857,7 @@
<b>6.2.</b>
基於指對象的方法
基於指對象的方法
</a>
@@ -887,7 +887,7 @@
<b>6.4.</b>
方法值和方法達式
方法值和方法達式
</a>
@@ -953,7 +953,7 @@
<b>7.1.</b>
接口是
接口是
</a>
@@ -1073,7 +1073,7 @@
<b>7.9.</b>
示例: 達式求值
示例: 達式求值
</a>
@@ -1103,7 +1103,7 @@
<b>7.11.</b>
基於類型斷言識錯誤類型
基於類型斷言識錯誤類型
</a>
@@ -1214,7 +1214,7 @@
<b>8.2.</b>
示例: 併的Clock服務
示例: 併的Clock服務
</a>
@@ -1229,7 +1229,7 @@
<b>8.3.</b>
示例: 併的Echo服務
示例: 併的Echo服務
</a>
@@ -1274,7 +1274,7 @@
<b>8.6.</b>
示例: 併的Web爬蟲
示例: 併的Web爬蟲
</a>
@@ -1289,7 +1289,7 @@
<b>8.7.</b>
基於select的多路
基於select的多路
</a>
@@ -1304,7 +1304,7 @@
<b>8.8.</b>
示例: 併的字典遍歷
示例: 併的字典遍歷
</a>
@@ -1319,7 +1319,7 @@
<b>8.9.</b>
的退齣
的退齣
</a>
@@ -1354,7 +1354,7 @@
<b>9.</b>
基於共享變量的併
基於共享變量的併
</a>
@@ -1415,7 +1415,7 @@
<b>9.4.</b>
內存
內存
</a>
@@ -1460,7 +1460,7 @@
<b>9.7.</b>
示例: 併的非阻塞緩存
示例: 併的非阻塞緩存
</a>
@@ -1475,7 +1475,7 @@
<b>9.8.</b>
Goroutines和
Goroutines和
</a>
@@ -1748,7 +1748,7 @@
<b>12.1.</b>
何需要反射?
何需要反射?
</a>
@@ -1793,7 +1793,7 @@
<b>12.4.</b>
示例: 編碼S達式
示例: 編碼S達式
</a>
@@ -1823,7 +1823,7 @@
<b>12.6.</b>
示例: 解碼S達式
示例: 解碼S達式
</a>
@@ -1975,50 +1975,14 @@
</li>
<li class="chapter " data-level="14" data-path="exercise/ex.html">
<a href="../exercise/ex.html">
<i class="fa fa-check"></i>
<b>14.</b>
習題解答
</a>
<ul class="articles">
<li class="chapter " data-level="14.1" data-path="exercise/ex-ch1.html">
<a href="../exercise/ex-ch1.html">
<i class="fa fa-check"></i>
<b>14.1.</b>
第一章 入門
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="15" data-path="errata.html">
<li class="chapter " data-level="14" data-path="errata.html">
<a href="../errata.html">
<i class="fa fa-check"></i>
<b>15.</b>
<b>14.</b>
勘誤
</a>
@@ -2060,12 +2024,12 @@
<section class="normal" id="section-">
<h2 id="&#x66F4;&#x591A;&#x7684;&#x4FE1;&#x606F;">&#x66F4;&#x591A;&#x7684;&#x4FE1;&#x606F;</h2>
<p>&#x6700;&#x4F73;&#x7684;&#x4FE1;&#x606F;&#x4F86;&#x81EA;Go&#x7684;&#x5B98;&#x65B9;&#x7DB2;&#x7AD9;, <a href="https://golang.org" target="_blank">https://golang.org</a>, &#x5B83;&#x63D0;&#x4F9B;&#x4E86;&#x8A2A;&#x554F;&#x5B8C;&#x5584;&#x7684;&#x53C3;&#x8003;&#x6587;&#x6A94;, &#x5305;&#x62EC;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;&#x898F;&#x7BC4;&#x548C;&#x6A19;&#x6E96;&#x5EAB;&#x7B49;&#x8AF8;&#x591A;&#x4FE1;&#x606F;. &#x8855;&#x6642;&#x4E5F;&#x5305;&#x542B;&#x4E86;&#x5982;&#x679C;&#x66F4;&#x597D;&#x4E86;&#x7DE8;&#x5BEB;Go&#x7A0B;&#x5E8F;&#x7684;&#x57FA;&#x672C;&#x654E;&#x7A0B;, &#x9084;&#x6709;&#x5404;&#x7A2E;&#x5404;&#x6A23;&#x7684;&#x5728;&#x7DAB;&#x6587;&#x672C;&#x8CC7;&#x6E90;&#x548C;&#x8996;&#x983B;&#x8CC7;&#x6E90;, &#x5B83;&#x5011;&#x662F;&#x672C;&#x8EAB;&#x7D42;&#x6709;&#x50F9;&#x503C;&#x7684;&#x88DC;&#x5145;. Go&#x7684;&#x535A;&#x5BA2; blog.golang.org &#x9AEE;&#x4F48;&#x4E00;&#x4E9B;Go&#x8A9E;&#x8A00;&#x6700;&#x597D;&#x7684;&#x5BE6;&#x8E10;&#x6587;&#x7AE0;, &#x5305;&#x62EC;&#x7576;&#x524D;&#x8A9E;&#x8A00;&#x7684;&#x72C0;&#x614B;, &#x672A;&#x4F86;&#x7684;&#x8A08;&#x5283;, &#x6703;&#x8B70;&#x5831;&#x544A;&#x548C;Go&#x76F8;&#x95DC;&#x7684;&#x5404;&#x7A2E;&#x4E3B;&#x984C;.</p>
<p>&#x5728;&#x7DAB;&#x8A2A;&#x554F;&#x7684;&#x4E00;&#x500B;&#x6709;&#x50F9;&#x503C;&#x7684;&#x5730;&#x65B9;&#x662F;&#x53EF;&#x4EE5;&#x5F9E;web&#x9801;&#x9EAB;&#x904B;&#x884C;Go&#x7684;&#x7A0B;&#x5E8F;(&#x800C;&#x7D19;&#x8CEA;&#x66F8;&#x5247;&#x6C92;&#x6709;&#x9019;&#x9EBC;&#x4FBF;&#x5229;&#x4E86;). &#x9019;&#x500B;&#x529F;&#x80FD; &#x7531;&#x4F86;&#x81EA; play.golang.org &#x7684; Go Playground &#x63D0;&#x4F9B;, &#x4F75;&#x4E14;&#x53EF;&#x4EE5;&#x65B9;&#x4FBF;&#x5730;&#x5D4C;&#x5165;&#x5230;&#x5176;&#x4ED6;&#x9801;&#x9EAB;, &#x4F8B;&#x5982; golang.org &#x7684;&#x4E3B;&#x9801;, &#x6216; godoc &#x63D0;&#x4F9B;&#x7684;&#x6587;&#x6A94;&#x4E2D;.</p>
<p>Playground &#x53EF;&#x4EE5;&#x7C21;&#x55AE;&#x7684;&#x901A;&#x904E;&#x57F7;&#x884C;&#x4E00;&#x500B;&#x5C0F;&#x7A0B;&#x5E8F;&#x4F86;&#x6E2C;&#x8A66;&#x5C0D;&#x8A9E;&#x6CD5;, &#x8A9E;&#x7FA9;, &#x6216;&#x5C0D;&#x7A0B;&#x5E8F;&#x5EAB;&#x7684;&#x7406;&#x89E3;, &#x985E;&#x4F3C;&#x5176;&#x4ED6;&#x5F88;&#x591A;&#x8A9E;&#x8A00;&#x63D0;&#x4F9B;&#x7684; REPL &#x537D;&#x6642;&#x904B;&#x884C;&#x7684;&#x65B9;&#x5F0F;. &#x8855;&#x6642;&#x5B83;&#x53EF;&#x4EE5;&#x751F;&#x6210;&#x5C0D;&#x61C9;&#x7684;url, &#x975E;&#x5E38;&#x9069;&#x95A4;&#x5171;&#x4EAB;Go&#x4EE3;&#x78BC;&#x7247;&#x6BB5;, bug&#x5831;&#x544A;&#x6216;&#x63D0;&#x9F63;&#x5EFA;&#x8B70;.</p>
<p>&#x57FA;&#x65BC; Playground &#x69CB;&#x5EFA;&#x7684; Go Tour (tour.golang.org), &#x662F;&#x4E00;&#x500B;&#x7E6B;&#x5217;&#x7684;Go&#x5165;&#x9580;&#x654E;&#x7A0B;, &#x5305;&#x542B;&#x4E86;&#x8AF8;&#x591A;&#x57FA;&#x672C;&#x6982;&#x5538;&#x548C;&#x7D50;&#x69CB;&#x76F8;&#x95DC;&#x7684;&#x53EF;&#x5728;&#x7DAB;&#x904B;&#x884C;&#x7684;&#x4E92;&#x52D5;&#x5C0F;&#x7A0B;&#x5E8F;.</p>
<p>Playground &#x548C; Tour &#x4E5F;&#x6709;&#x4E00;&#x4E9B;&#x4E0D;&#x8DB3;, &#x5B83;&#x5011;&#x96BB;&#x80FD;&#x5C0E;&#x5165;&#x6A19;&#x6E96;&#x5EAB;, &#x800C;&#x4E14;&#x56E0;&#x70BA;&#x5B89;&#x5168;&#x7684;&#x539F;&#x56E0;&#x5C0D;&#x4E00;&#x4E9B;&#x7DB2;&#x7D61;&#x5EAB;&#x505A;&#x4E86;&#x9650;&#x88FD;. &#x800C;&#x4E14;&#x8981;&#x7DE8;&#x8B6F;&#x548C;&#x904B;&#x884C;&#x9700;&#x8981;&#x8A2A;&#x554F;&#x4E92;&#x806F;&#x7DB2;. &#x5C0D;&#x65BC;&#x4E00;&#x4E9B;&#x66F4;&#x5FA9;&#x88FD;&#x7684;&#x5BE6;&#x9A57;, &#x4F60;&#x53EF;&#x80FD;&#x9700;&#x8981;&#x5728;&#x81EA;&#x5DF1;&#x7684;&#x96FB;&#x8166;&#x4E0A;&#x904B;&#x884C;&#x7A0B;&#x5E8F;. &#x5016;&#x904B;&#x7684;&#x662F;&#x4E0B;&#x8F09;Go&#x7684;&#x904E;&#x7A0B;&#x5F88;&#x7C21;&#x55AE;, &#x5F9E; golang.org &#x4E0B;&#x8F09;&#x61C9;&#x8A72;&#x4E0D;&#x8D85;&#x904E;&#x5E7E;&#x5206;&#x937E;, &#x7136;&#x5F8C;&#x5C31;&#x53EF;&#x4EE5;&#x5728;&#x81EA;&#x5DF1;&#x96FB;&#x8166;&#x4E0A;&#x7DE8;&#x5BEB;&#x548C;&#x904B;&#x884C;Go&#x7A0B;&#x5E8F;&#x4E86;.</p>
<p>Go&#x662F;&#x4E00;&#x500B;&#x958B;&#x6E90;&#x9805;&#x76EE;, &#x4F60;&#x53EF;&#x4EE5; &#x5728; <a href="https://golang.org/pkg" target="_blank">https://golang.org/pkg</a> &#x95B1;&#x8B80;&#x6A19;&#x6E96;&#x5EAB;&#x4E2D;&#x4EFB;&#x610F;&#x51FD;&#x6578;&#x548C;&#x985E;&#x578B;&#x7684;&#x4EE3;&#x78BC;, &#x548C;&#x4E0B;&#x8F09;&#x7684;&#x4EE3;&#x78BC;&#x5B8C;&#x5168;&#x4E00;&#x7DFB;. &#x9019;&#x6A23;&#x53EF;&#x4EE5;&#x77E5;&#x9053;&#x5F88;&#x591A;&#x51FD;&#x6578;&#x662F;&#x5982;&#x4F55;&#x5DE5;&#x4F5C;&#x7684;, &#x6316;&#x6398;&#x4E00;&#x4E9B;&#x7B54;&#x6848;&#x7684;&#x7D30;&#x7BC0;, &#x6216;&#x8005;&#x50C5;&#x50C5;&#x662F;&#x6B23;&#x8CDE; &#x5C08;&#x696D;&#x7684;Go&#x4EE3;&#x78BC;.</p>
<p>&#x6700;&#x4F73;&#x7684;&#x4FE1;&#x606F;&#x4F86;&#x81EA;Go&#x7684;&#x5B98;&#x65B9;&#x7DB2;&#x7AD9;, <a href="https://golang.org" target="_blank">https://golang.org</a>, &#x5B83;&#x63D0;&#x4F9B;&#x4E86;&#x8A2A;&#x554F;&#x5B8C;&#x5584;&#x7684;&#x53C3;&#x8003;&#x6587;&#x6A94;, &#x5305;&#x62EC;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;&#x898F;&#x8303;&#x548C;&#x6A19;&#x6E96;&#x5EAB;&#x7B49;&#x8AF8;&#x591A;&#x4FE1;&#x606F;. &#x540C;&#x6642;&#x4E5F;&#x5305;&#x542B;&#x4E86;&#x5982;&#x679C;&#x66F4;&#x597D;&#x4E86;&#x7DE8;&#x5BEB;Go&#x7A0B;&#x5E8F;&#x7684;&#x57FA;&#x672C;&#x654E;&#x7A0B;, &#x9084;&#x6709;&#x5404;&#x7A2E;&#x5404;&#x6A23;&#x7684;&#x5728;&#x7DDA;&#x6587;&#x672C;&#x8CC7;&#x6E90;&#x548C;&#x8996;&#x983B;&#x8CC7;&#x6E90;, &#x5B83;&#x5011;&#x662F;&#x672C;&#x8EAB;&#x7D42;&#x6709;&#x50F9;&#x503C;&#x7684;&#x88DC;&#x5145;. Go&#x7684;&#x535A;&#x5BA2; blog.golang.org &#x767C;&#x5E03;&#x4E00;&#x4E9B;Go&#x8A9E;&#x8A00;&#x6700;&#x597D;&#x7684;&#x5BE6;&#x8E10;&#x6587;&#x7AE0;, &#x5305;&#x62EC;&#x7576;&#x524D;&#x8A9E;&#x8A00;&#x7684;&#x72C0;&#x614B;, &#x672A;&#x4F86;&#x7684;&#x8A08;&#x5283;, &#x6703;&#x8B70;&#x5831;&#x544A;&#x548C;Go&#x76F8;&#x95DC;&#x7684;&#x5404;&#x7A2E;&#x4E3B;&#x984C;.</p>
<p>&#x5728;&#x7DDA;&#x8A2A;&#x554F;&#x7684;&#x4E00;&#x500B;&#x6709;&#x50F9;&#x503C;&#x7684;&#x5730;&#x65B9;&#x662F;&#x53EF;&#x4EE5;&#x5F9E;web&#x9801;&#x9762;&#x904B;&#x884C;Go&#x7684;&#x7A0B;&#x5E8F;(&#x800C;&#x7D19;&#x8CEA;&#x66F8;&#x5247;&#x6C92;&#x6709;&#x9019;&#x9EBD;&#x4FBF;&#x5229;&#x4E86;). &#x9019;&#x500B;&#x529F;&#x80FD; &#x7531;&#x4F86;&#x81EA; play.golang.org &#x7684; Go Playground &#x63D0;&#x4F9B;, &#x4F75;&#x4E14;&#x53EF;&#x4EE5;&#x65B9;&#x4FBF;&#x5730;&#x5D4C;&#x5165;&#x5230;&#x5176;&#x4ED6;&#x9801;&#x9762;, &#x4F8B;&#x5982; golang.org &#x7684;&#x4E3B;&#x9801;, &#x6216; godoc &#x63D0;&#x4F9B;&#x7684;&#x6587;&#x6A94;&#x4E2D;.</p>
<p>Playground &#x53EF;&#x4EE5;&#x7C21;&#x55AE;&#x7684;&#x901A;&#x904E;&#x57F7;&#x884C;&#x4E00;&#x500B;&#x5C0F;&#x7A0B;&#x5E8F;&#x4F86;&#x6E2C;&#x8A66;&#x5C0D;&#x8A9E;&#x6CD5;, &#x8A9E;&#x7FA9;, &#x6216;&#x5C0D;&#x7A0B;&#x5E8F;&#x5EAB;&#x7684;&#x7406;&#x89E3;, &#x985E;&#x4F3C;&#x5176;&#x4ED6;&#x5F88;&#x591A;&#x8A9E;&#x8A00;&#x63D0;&#x4F9B;&#x7684; REPL &#x537D;&#x6642;&#x904B;&#x884C;&#x7684;&#x65B9;&#x5F0F;. &#x540C;&#x6642;&#x5B83;&#x53EF;&#x4EE5;&#x751F;&#x6210;&#x5C0D;&#x61C9;&#x7684;url, &#x975E;&#x5E38;&#x9069;&#x5408;&#x5171;&#x4EAB;Go&#x4EE3;&#x78BC;&#x7247;&#x6BB5;, bug&#x5831;&#x544A;&#x6216;&#x63D0;&#x9F63;&#x5EFA;&#x8B70;.</p>
<p>&#x57FA;&#x65BC; Playground &#x69CB;&#x5EFA;&#x7684; Go Tour (tour.golang.org), &#x662F;&#x4E00;&#x500B;&#x7E6B;&#x5217;&#x7684;Go&#x5165;&#x9580;&#x654E;&#x7A0B;, &#x5305;&#x542B;&#x4E86;&#x8AF8;&#x591A;&#x57FA;&#x672C;&#x6982;&#x5FF5;&#x548C;&#x7D50;&#x69CB;&#x76F8;&#x95DC;&#x7684;&#x53EF;&#x5728;&#x7DDA;&#x904B;&#x884C;&#x7684;&#x4E92;&#x52D5;&#x5C0F;&#x7A0B;&#x5E8F;.</p>
<p>Playground &#x548C; Tour &#x4E5F;&#x6709;&#x4E00;&#x4E9B;&#x4E0D;&#x8DB3;, &#x5B83;&#x5011;&#x96BB;&#x80FD;&#x5C0E;&#x5165;&#x6A19;&#x6E96;&#x5EAB;, &#x800C;&#x4E14;&#x56E0;&#x7232;&#x5B89;&#x5168;&#x7684;&#x539F;&#x56E0;&#x5C0D;&#x4E00;&#x4E9B;&#x7DB2;&#x7D61;&#x5EAB;&#x505A;&#x4E86;&#x9650;&#x88FD;. &#x800C;&#x4E14;&#x8981;&#x7DE8;&#x8B6F;&#x548C;&#x904B;&#x884C;&#x9700;&#x8981;&#x8A2A;&#x554F;&#x4E92;&#x806F;&#x7DB2;. &#x5C0D;&#x65BC;&#x4E00;&#x4E9B;&#x66F4;&#x8907;&#x88FD;&#x7684;&#x5BE6;&#x9A57;, &#x4F60;&#x53EF;&#x80FD;&#x9700;&#x8981;&#x5728;&#x81EA;&#x5DF1;&#x7684;&#x96FB;&#x8166;&#x4E0A;&#x904B;&#x884C;&#x7A0B;&#x5E8F;. &#x5E78;&#x904B;&#x7684;&#x662F;&#x4E0B;&#x8F09;Go&#x7684;&#x904E;&#x7A0B;&#x5F88;&#x7C21;&#x55AE;, &#x5F9E; golang.org &#x4E0B;&#x8F09;&#x61C9;&#x8A72;&#x4E0D;&#x8D85;&#x904E;&#x5E7E;&#x5206;&#x9418;, &#x7136;&#x5F8C;&#x5C31;&#x53EF;&#x4EE5;&#x5728;&#x81EA;&#x5DF1;&#x96FB;&#x8166;&#x4E0A;&#x7DE8;&#x5BEB;&#x548C;&#x904B;&#x884C;Go&#x7A0B;&#x5E8F;&#x4E86;.</p>
<p>Go&#x662F;&#x4E00;&#x500B;&#x958B;&#x6E90;&#x9805;&#x76EE;, &#x4F60;&#x53EF;&#x4EE5; &#x5728; <a href="https://golang.org/pkg" target="_blank">https://golang.org/pkg</a> &#x95B2;&#x8B80;&#x6A19;&#x6E96;&#x5EAB;&#x4E2D;&#x4EFB;&#x610F;&#x51FD;&#x6578;&#x548C;&#x985E;&#x578B;&#x7684;&#x4EE3;&#x78BC;, &#x548C;&#x4E0B;&#x8F09;&#x7684;&#x4EE3;&#x78BC;&#x5B8C;&#x5168;&#x4E00;&#x81F4;. &#x9019;&#x6A23;&#x53EF;&#x4EE5;&#x77E5;&#x9053;&#x5F88;&#x591A;&#x51FD;&#x6578;&#x662F;&#x5982;&#x4F55;&#x5DE5;&#x4F5C;&#x7684;, &#x6316;&#x6398;&#x4E00;&#x4E9B;&#x7B54;&#x6848;&#x7684;&#x7D30;&#x7BC0;, &#x6216;&#x8005;&#x50C5;&#x50C5;&#x662F;&#x6B23;&#x8CDE; &#x5C08;&#x696D;&#x7684;Go&#x4EE3;&#x78BC;.</p>
</section>
@@ -2079,7 +2043,7 @@
<a href="../ch0/ch0-03.html" class="navigation navigation-prev " aria-label="Previous page: 本書的組織"><i class="fa fa-angle-left"></i></a>
<a href="../ch0/ch0-05.html" class="navigation navigation-next " aria-label="Next page: 謝"><i class="fa fa-angle-right"></i></a>
<a href="../ch0/ch0-05.html" class="navigation navigation-next " aria-label="Next page: 謝"><i class="fa fa-angle-right"></i></a>
</div>
</div>

View File

@@ -5,7 +5,7 @@
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>謝 | Go编程语言</title>
<title>謝 | Go编程语言</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content="">
<meta name="generator" content="GitBook 2.5.2">
@@ -48,7 +48,7 @@
<body>
<div class="book" data-level="0.5" data-chapter-title="謝" data-filepath="ch0/ch0-05.md" data-basepath=".." data-revision="Wed Dec 16 2015 10:54:29 GMT+0800 (中国标准时间)">
<div class="book" data-level="0.5" data-chapter-title="謝" data-filepath="ch0/ch0-05.md" data-basepath=".." data-revision="Mon Dec 21 2015 12:51:02 GMT+0800 (中国标准时间)">
<div class="book-summary">
@@ -146,7 +146,7 @@
<b>0.5.</b>
</a>
@@ -212,7 +212,7 @@
<b>1.3.</b>
査找重的行
査找重的行
</a>
@@ -227,7 +227,7 @@
<b>1.4.</b>
GIF動
GIF動
</a>
@@ -257,7 +257,7 @@
<b>1.6.</b>
穫取多個URL
穫取多個URL
</a>
@@ -479,7 +479,7 @@
<b>3.3.</b>
</a>
@@ -494,7 +494,7 @@
<b>3.4.</b>
爾型
爾型
</a>
@@ -544,7 +544,7 @@
<b>4.</b>
復閤數據類型
複合數據類型
</a>
@@ -857,7 +857,7 @@
<b>6.2.</b>
基於指對象的方法
基於指對象的方法
</a>
@@ -887,7 +887,7 @@
<b>6.4.</b>
方法值和方法達式
方法值和方法達式
</a>
@@ -953,7 +953,7 @@
<b>7.1.</b>
接口是
接口是
</a>
@@ -1073,7 +1073,7 @@
<b>7.9.</b>
示例: 達式求值
示例: 達式求值
</a>
@@ -1103,7 +1103,7 @@
<b>7.11.</b>
基於類型斷言識錯誤類型
基於類型斷言識錯誤類型
</a>
@@ -1214,7 +1214,7 @@
<b>8.2.</b>
示例: 併的Clock服務
示例: 併的Clock服務
</a>
@@ -1229,7 +1229,7 @@
<b>8.3.</b>
示例: 併的Echo服務
示例: 併的Echo服務
</a>
@@ -1274,7 +1274,7 @@
<b>8.6.</b>
示例: 併的Web爬蟲
示例: 併的Web爬蟲
</a>
@@ -1289,7 +1289,7 @@
<b>8.7.</b>
基於select的多路
基於select的多路
</a>
@@ -1304,7 +1304,7 @@
<b>8.8.</b>
示例: 併的字典遍歷
示例: 併的字典遍歷
</a>
@@ -1319,7 +1319,7 @@
<b>8.9.</b>
的退齣
的退齣
</a>
@@ -1354,7 +1354,7 @@
<b>9.</b>
基於共享變量的併
基於共享變量的併
</a>
@@ -1415,7 +1415,7 @@
<b>9.4.</b>
內存
內存
</a>
@@ -1460,7 +1460,7 @@
<b>9.7.</b>
示例: 併的非阻塞緩存
示例: 併的非阻塞緩存
</a>
@@ -1475,7 +1475,7 @@
<b>9.8.</b>
Goroutines和
Goroutines和
</a>
@@ -1748,7 +1748,7 @@
<b>12.1.</b>
何需要反射?
何需要反射?
</a>
@@ -1793,7 +1793,7 @@
<b>12.4.</b>
示例: 編碼S達式
示例: 編碼S達式
</a>
@@ -1823,7 +1823,7 @@
<b>12.6.</b>
示例: 解碼S達式
示例: 解碼S達式
</a>
@@ -1975,50 +1975,14 @@
</li>
<li class="chapter " data-level="14" data-path="exercise/ex.html">
<a href="../exercise/ex.html">
<i class="fa fa-check"></i>
<b>14.</b>
習題解答
</a>
<ul class="articles">
<li class="chapter " data-level="14.1" data-path="exercise/ex-ch1.html">
<a href="../exercise/ex-ch1.html">
<i class="fa fa-check"></i>
<b>14.1.</b>
第一章 入門
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="15" data-path="errata.html">
<li class="chapter " data-level="14" data-path="errata.html">
<a href="../errata.html">
<i class="fa fa-check"></i>
<b>15.</b>
<b>14.</b>
勘誤
</a>
@@ -2059,23 +2023,23 @@
<section class="normal" id="section-">
<h2 id="&#x7DFB;&#x8B1D;">&#x7DFB;&#x8B1D;</h2>
<p>Rob Pike &#x548C; Russ Cox, &#x4EE5;&#x53CA;&#x5176;&#x4ED6;&#x5F88;&#x591A;Go&#x5718;&#x968A;&#x7684;&#x8988;&#x5FC3;&#x6210;&#x54E1;&#x591A;&#x6B21;&#x4ED4;&#x7D30;&#x95B1;&#x8B80;&#x4E86;&#x672C;&#x66F8;&#x7684;&#x624B;&#x7A3F;,
&#x4ED6;&#x5011;&#x5C0D;&#x672C;&#x66F8;&#x7684;&#x7D44;&#x7E54;&#x7D50;&#x69CB;&#x548C;&#x9336;&#x8FF0;&#x7528;&#x8A5E;&#x7B49;&#x7D66;&#x9F63;&#x4E86;&#x5F88;&#x591A;&#x5BF6;&#x8CB4;&#x7684;&#x5EFA;&#x8B70;. &#x5728;&#x6E96;&#x5099;&#x65E5;&#x672C;&#x7FFB;&#x8B6F;&#x7684;&#x6642;&#x5019;,
Yoshiki Shibata &#x66F4;&#x662F;&#x4ED4;&#x7D30;&#x5730;&#x5BE9;&#x95B1;&#x4E86;&#x672C;&#x66F8;&#x7684;&#x6BCF;&#x500B;&#x90E8;&#x5206;, &#x53CA;&#x6642;&#x9AEE;&#x73FE;&#x4E86;&#x8AF8;&#x591A;&#x82F1;&#x6587;&#x548C;&#x4EE3;&#x78BC;&#x7684;&#x932F;&#x8AA4;.
&#x6211;&#x5011;&#x975E;&#x5E38;&#x611F;&#x8B1D;&#x672C;&#x66F8;&#x7684;&#x5BE9;&#x95B1;&#x8005;, &#x4F75;&#x611F;&#x8B1D;&#x5C0D;&#x672C;&#x66F8;&#x7D66;&#x9F63;&#x4E86;&#x91CD;&#x8981;&#x7684;&#x5EFA;&#x8B70;&#x7684; Brian Goetz, Corey Kosak,
<h2 id="&#x81F4;&#x8B1D;">&#x81F4;&#x8B1D;</h2>
<p>Rob Pike &#x548C; Russ Cox, &#x4EE5;&#x53CA;&#x5176;&#x4ED6;&#x5F88;&#x591A;Go&#x7CF0;&#x968A;&#x7684;&#x8988;&#x5FC3;&#x6210;&#x54E1;&#x591A;&#x6B21;&#x4ED4;&#x7D30;&#x95B2;&#x8B80;&#x4E86;&#x672C;&#x66F8;&#x7684;&#x624B;&#x7A3F;,
&#x4ED6;&#x5011;&#x5C0D;&#x672C;&#x66F8;&#x7684;&#x7D44;&#x7E54;&#x7D50;&#x69CB;&#x548C;&#x8868;&#x8FF0;&#x7528;&#x8A5E;&#x7B49;&#x7D66;&#x9F63;&#x4E86;&#x5F88;&#x591A;&#x5BF6;&#x8CB4;&#x7684;&#x5EFA;&#x8B70;. &#x5728;&#x6E96;&#x5099;&#x65E5;&#x672C;&#x7FFB;&#x8B6F;&#x7684;&#x6642;&#x5019;,
Yoshiki Shibata &#x66F4;&#x662F;&#x4ED4;&#x7D30;&#x5730;&#x5BE9;&#x95B2;&#x4E86;&#x672C;&#x66F8;&#x7684;&#x6BCF;&#x500B;&#x90E8;&#x5206;, &#x53CA;&#x6642;&#x767C;&#x73FE;&#x4E86;&#x8AF8;&#x591A;&#x82F1;&#x6587;&#x548C;&#x4EE3;&#x78BC;&#x7684;&#x932F;&#x8AA4;.
&#x6211;&#x5011;&#x975E;&#x5E38;&#x611F;&#x8B1D;&#x672C;&#x66F8;&#x7684;&#x5BE9;&#x95B2;&#x8005;, &#x4F75;&#x611F;&#x8B1D;&#x5C0D;&#x672C;&#x66F8;&#x7D66;&#x9F63;&#x4E86;&#x91CD;&#x8981;&#x7684;&#x5EFA;&#x8B70;&#x7684; Brian Goetz, Corey Kosak,
Arnold Robbins, Josh Bleecher Snyder &#x548C; Peter Weinberger &#x7B49;&#x4EBA;.</p>
<p>&#x6211;&#x5011;&#x611F;&#x8B1D; Sameer Ajmani, Ittai Balaban, David Crawshaw, Billy Donohue, Jonathan Feinberg, Andrew Gerrand,
Robert Griesemer, John Linderman, Minux Ma, Bryan Mills, Bala Natarajan, Cosmos Nicolaou, Paul Staniforth, Nigel Tao
&#x4EE5;&#x53CA; Howard Trickey &#x7D66;&#x9F63;&#x7684;&#x8A31;&#x591A;&#x6709;&#x7528;&#x7684;&#x5EFA;&#x8B70;.
&#x6211;&#x5011;&#x9084;&#x8981;&#x611F;&#x8B1D; David Brailsford &#x548C; Raph Levien &#x95DC;&#x65BC;&#x985E;&#x578B;&#x8A2D;&#x7F6E;&#x7684;&#x5EFA;&#x8B70;.</p>
<p>&#x6211;&#x5011;&#x4F86;&#x81EA; Addison-Wesley &#x7684;&#x7DE8;&#x8F2F; Greg Doench, &#x5F9E;&#x6700;&#x521D;&#x5C31;&#x5F97;&#x5230;&#x4E86;&#x8D8A;&#x4F86;&#x8D8A;&#x591A;&#x7684;&#x5E6B;&#x52A9;.
&#x4F86;&#x81EA;AW&#x751F;&#x7522;&#x5718;&#x968A;&#x7684; John Fuller, Dayna Isley, Julie Nahil, Chuti Prasertsith, &#x548C; Barbara Wood,
&#x4F86;&#x81EA;AW&#x751F;&#x7523;&#x7CF0;&#x968A;&#x7684; John Fuller, Dayna Isley, Julie Nahil, Chuti Prasertsith, &#x548C; Barbara Wood,
&#x611F;&#x8B1D;&#x4F60;&#x5011;&#x7684;&#x71B1;&#x5FC3;&#x5E6B;&#x52A9;.</p>
<p>Alan Donovan &#x7279;&#x5F46;&#x611F;&#x8B1D;: Sameer Ajmani, Chris Demetriou, Walt Drummond &#x548C; Google&#x7684;Reid Tatge &#x5141;&#x8A31;&#x4ED6;&#x6709;&#x5145;&#x88D5;&#x7684;&#x6642;&#x9593;&#x53BB;&#x5BEB;&#x672C;&#x66F8;;
&#x611F;&#x8B1D; Stephen Donovan &#x7684;&#x5EFA;&#x8B70;&#x548C;&#x59CB;&#x7D42;&#x5982;&#x4E00;&#x7684;&#x9F13;&#x52F5;, &#x4EE5;&#x53CA;&#x4ED6;&#x7684;&#x59BB;&#x5B50; Leila Kazemi &#x6C92;&#x6709;&#x8B93;&#x4ED6;&#x70BA;&#x4E86;&#x50A2;&#x5EAD;&#x7463;&#x4E8B;&#x800C;&#x5206;&#x5FC3;, &#x4F75;&#x71B1;&#x60C5;&#x5805;&#x5B9A;&#x5730;&#x652F;&#x6301;&#x9019;&#x500B;&#x9805;&#x76EE;.</p>
<p>Brian Kernighan&#x7279;&#x5F46;&#x611F;&#x8B1D;: &#x670B;&#x53CB;&#x548C;&#x8855;&#x4E8B;&#x7684;&#x8010;&#x5FC3;&#x548C;&#x5BEC;&#x5BB9;&#x4ED6;, &#x8B93;&#x4ED6;&#x6162;&#x6162;&#x5730;&#x68B3;&#x7406;&#x672C;&#x8EAB;&#x7684;&#x5BEB;&#x4F5C;&#x601D;&#x8DEF;.
&#x8855;&#x6642;&#x611F;&#x8B1D;&#x4ED6;&#x7684;&#x59BB;&#x5B50; Meg &#x548C;&#x5176;&#x4ED6;&#x5F88;&#x591A;&#x670B;&#x53CB;&#x5C0D;&#x4ED6;&#x5BEB;&#x4F5C;&#x4E8B;&#x696D;&#x7684;&#x652F;&#x6301;.</p>
<p>Alan Donovan &#x7279;&#x522B;&#x611F;&#x8B1D;: Sameer Ajmani, Chris Demetriou, Walt Drummond &#x548C; Google&#x7684;Reid Tatge &#x5141;&#x8A31;&#x4ED6;&#x6709;&#x5145;&#x88D5;&#x7684;&#x6642;&#x9593;&#x53BB;&#x5BEB;&#x672C;&#x66F8;;
&#x611F;&#x8B1D; Stephen Donovan &#x7684;&#x5EFA;&#x8B70;&#x548C;&#x59CB;&#x7D42;&#x5982;&#x4E00;&#x7684;&#x9F13;&#x52F5;, &#x4EE5;&#x53CA;&#x4ED6;&#x7684;&#x59BB;&#x5B50; Leila Kazemi &#x6C92;&#x6709;&#x8B93;&#x4ED6;&#x7232;&#x4E86;&#x5BB6;&#x5EAD;&#x7463;&#x4E8B;&#x800C;&#x5206;&#x5FC3;, &#x4F75;&#x71B1;&#x60C5;&#x5805;&#x5B9A;&#x5730;&#x652F;&#x6301;&#x9019;&#x500B;&#x9805;&#x76EE;.</p>
<p>Brian Kernighan&#x7279;&#x522B;&#x611F;&#x8B1D;: &#x670B;&#x53CB;&#x548C;&#x540C;&#x4E8B;&#x7684;&#x8010;&#x5FC3;&#x548C;&#x5BEC;&#x5BB9;&#x4ED6;, &#x8B93;&#x4ED6;&#x6162;&#x6162;&#x5730;&#x68B3;&#x7406;&#x672C;&#x8EAB;&#x7684;&#x5BEB;&#x4F5C;&#x601D;&#x8DEF;.
&#x540C;&#x6642;&#x611F;&#x8B1D;&#x4ED6;&#x7684;&#x59BB;&#x5B50; Meg &#x548C;&#x5176;&#x4ED6;&#x5F88;&#x591A;&#x670B;&#x53CB;&#x5C0D;&#x4ED6;&#x5BEB;&#x4F5C;&#x4E8B;&#x696D;&#x7684;&#x652F;&#x6301;.</p>
<p>2015&#x5E74; 10&#x6708; &#x65BC; &#x7D10;&#x7D04;</p>