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

@@ -46,7 +46,7 @@
<body>
<div class="book" data-level="0" data-chapter-title="前言" data-filepath="preface.md" data-basepath="." data-revision="Wed Dec 16 2015 10:54:29 GMT+0800 (中国标准时间)">
<div class="book" data-level="0" data-chapter-title="前言" data-filepath="preface.md" data-basepath="." data-revision="Mon Dec 21 2015 12:51:02 GMT+0800 (中国标准时间)">
<div class="book-summary">
@@ -144,7 +144,7 @@
<b>0.5.</b>
</a>
@@ -210,7 +210,7 @@
<b>1.3.</b>
査找重的行
査找重的行
</a>
@@ -225,7 +225,7 @@
<b>1.4.</b>
GIF動
GIF動
</a>
@@ -255,7 +255,7 @@
<b>1.6.</b>
穫取多個URL
穫取多個URL
</a>
@@ -477,7 +477,7 @@
<b>3.3.</b>
</a>
@@ -492,7 +492,7 @@
<b>3.4.</b>
爾型
爾型
</a>
@@ -542,7 +542,7 @@
<b>4.</b>
復閤數據類型
複合數據類型
</a>
@@ -855,7 +855,7 @@
<b>6.2.</b>
基於指對象的方法
基於指對象的方法
</a>
@@ -885,7 +885,7 @@
<b>6.4.</b>
方法值和方法達式
方法值和方法達式
</a>
@@ -951,7 +951,7 @@
<b>7.1.</b>
接口是
接口是
</a>
@@ -1071,7 +1071,7 @@
<b>7.9.</b>
示例: 達式求值
示例: 達式求值
</a>
@@ -1101,7 +1101,7 @@
<b>7.11.</b>
基於類型斷言識錯誤類型
基於類型斷言識錯誤類型
</a>
@@ -1212,7 +1212,7 @@
<b>8.2.</b>
示例: 併的Clock服務
示例: 併的Clock服務
</a>
@@ -1227,7 +1227,7 @@
<b>8.3.</b>
示例: 併的Echo服務
示例: 併的Echo服務
</a>
@@ -1272,7 +1272,7 @@
<b>8.6.</b>
示例: 併的Web爬蟲
示例: 併的Web爬蟲
</a>
@@ -1287,7 +1287,7 @@
<b>8.7.</b>
基於select的多路
基於select的多路
</a>
@@ -1302,7 +1302,7 @@
<b>8.8.</b>
示例: 併的字典遍歷
示例: 併的字典遍歷
</a>
@@ -1317,7 +1317,7 @@
<b>8.9.</b>
的退齣
的退齣
</a>
@@ -1352,7 +1352,7 @@
<b>9.</b>
基於共享變量的併
基於共享變量的併
</a>
@@ -1413,7 +1413,7 @@
<b>9.4.</b>
內存
內存
</a>
@@ -1458,7 +1458,7 @@
<b>9.7.</b>
示例: 併的非阻塞緩存
示例: 併的非阻塞緩存
</a>
@@ -1473,7 +1473,7 @@
<b>9.8.</b>
Goroutines和
Goroutines和
</a>
@@ -1746,7 +1746,7 @@
<b>12.1.</b>
何需要反射?
何需要反射?
</a>
@@ -1791,7 +1791,7 @@
<b>12.4.</b>
示例: 編碼S達式
示例: 編碼S達式
</a>
@@ -1821,7 +1821,7 @@
<b>12.6.</b>
示例: 解碼S達式
示例: 解碼S達式
</a>
@@ -1973,50 +1973,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>
@@ -2058,37 +2022,37 @@
<section class="normal" id="section-">
<h1 id="&#x95DC;&#x65BC;-&#x300A;go&#x8056;&#x7D93;&#x8B80;&#x66F8;&#x7B46;&#x8A18;&#x300B;">&#x95DC;&#x65BC; <a href="http://golang-china.github.io/gopl-zh" target="_blank">&#x300A;Go&#x8056;&#x7D93;&#x8B80;&#x66F8;&#x7B46;&#x8A18;&#x300B;</a></h1>
<p>&#x4F5C;&#x70BA; <a href="http://gopl.io/" target="_blank">&#x300A;The Go Programming Language&#x300B;</a> (&#x4E2D;&#x6587;&#x540D;<a href="http://golang-china.github.io/gopl-zh" target="_blank">&#x300A;Go&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;&#x300B;</a>) &#x82F1;&#x6587;&#x539F;&#x7248;&#x7D19;&#x8CEA;&#x5716;&#x66F8;&#x7684;&#x8CFC;&#x8CB7;&#x8005;, <a href="http://golang-china.github.io/gopl-zh" target="_blank">&#x300A;Go&#x8056;&#x7D93;&#x8B80;&#x66F8;&#x7B46;&#x8A18;&#x300B;</a> &#x662F;&#x6211;&#x5011;&#x7684; <strong>&#x8B80;&#x66F8;&#x7B46;&#x8A18;</strong> &#x548C; <strong>&#x7FD2;&#x984C;&#x89E3;&#x7B54;</strong>, &#x50C5;&#x4F9B;&#x5B78;&#x7FD2;&#x4EA4;&#x6D41;&#x7528;.</p>
<p>&#x4F5C;&#x7232; <a href="http://gopl.io/" target="_blank">&#x300A;The Go Programming Language&#x300B;</a> (&#x4E2D;&#x6587;&#x540D;<a href="http://golang-china.github.io/gopl-zh" target="_blank">&#x300A;Go&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;&#x300B;</a>) &#x82F1;&#x6587;&#x539F;&#x7248;&#x7D19;&#x8CEA;&#x5716;&#x66F8;&#x7684;&#x8CFC;&#x8CB7;&#x8005;, <a href="http://golang-china.github.io/gopl-zh" target="_blank">&#x300A;Go&#x8056;&#x7D93;&#x8B80;&#x66F8;&#x7B46;&#x8A18;&#x300B;</a> &#x662F;&#x6211;&#x5011;&#x7684; <strong>&#x8B80;&#x66F8;&#x7B46;&#x8A18;</strong> &#x548C; <strong>&#x7FD2;&#x984C;&#x89E3;&#x7B54;</strong>, &#x50C5;&#x4F9B;&#x5B78;&#x7FD2;&#x4EA4;&#x6D41;&#x7528;.</p>
<ul>
<li>&#x6B64; <strong>&#x8B80;&#x66F8;&#x7B46;&#x8A18;</strong> &#x5728;&#x7DAB;&#x9810;&#x89BD;: <a href="http://golang-china.github.io/gopl-zh" target="_blank">http://golang-china.github.io/gopl-zh</a></li>
<li>&#x6B64; <strong>&#x8B80;&#x66F8;&#x7B46;&#x8A18;</strong> &#x5728;&#x7DDA;&#x9810;&#x89BD;: <a href="http://golang-china.github.io/gopl-zh" target="_blank">http://golang-china.github.io/gopl-zh</a></li>
<li>&#x6B64; <strong>&#x8B80;&#x66F8;&#x7B46;&#x8A18;</strong> &#x7684;&#x6E90;&#x6587;&#x4EF6;: <a href="http://github.com/golang-china/gopl-zh" target="_blank">http://github.com/golang-china/gopl-zh</a></li>
<li>&#x6B64; <strong>&#x8B80;&#x66F8;&#x7B46;&#x8A18;</strong> &#x9805;&#x76EE;&#x9032;&#x5EA6;: <a href="http://github.com/golang-china/gopl-zh/blob/master/progress.md" target="_blank">http://github.com/golang-china/gopl-zh/blob/master/progress.md</a></li>
<li>&#x6B64; <strong>&#x8B80;&#x66F8;&#x7B46;&#x8A18;</strong> &#x8518;&#x8207;&#x4EBA;&#x54E1;: <a href="http://github.com/golang-china/gopl-zh/blob/master/CONTRIBUTORS.md" target="_blank">http://github.com/golang-china/gopl-zh/blob/master/CONTRIBUTORS.md</a></li>
<li>&#x6B64; <strong>&#x8B80;&#x66F8;&#x7B46;&#x8A18;</strong> &#x53C3;&#x8207;&#x4EBA;&#x54E1;: <a href="http://github.com/golang-china/gopl-zh/blob/master/CONTRIBUTORS.md" target="_blank">http://github.com/golang-china/gopl-zh/blob/master/CONTRIBUTORS.md</a></li>
<li>&#x539F;&#x7248;&#x5B98;&#x7DB2;: <a href="http://gopl.io" target="_blank">http://gopl.io</a></li>
</ul>
<p><a href="https://github.com/golang-china/gopl-zh" target="_blank"><img src="cover_small.jpg" alt=""></a></p>
<p><strong>&#x7248;&#x6B0A;&#x8072;&#x660E;:</strong> <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p>
<p><a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank"><img alt="Creative Commons License" style="border-width:0" src="images/by-nc-sa-4.0-88x31.png"></a></p>
<p>&#x56B4;&#x7981;&#x4EFB;&#x4F55;&#x5546;&#x696D;&#x884C;&#x70BA;&#x4F7F;&#x7528;&#x6216;&#x5F15;&#x7528;&#x8A72; <strong>&#x8B80;&#x66F8;&#x7B46;&#x8A18;</strong> &#x7684;&#x5168;&#x90E8;&#x6216;&#x90E8;&#x5206;&#x5167;&#x5BB9;!</p>
<p>&#x6B61;&#x8FCE;&#x5927;&#x50A2;&#x63D0;&#x4F9B;&#x5EFA;&#x8B70;!</p>
<p>&#x56B4;&#x7981;&#x4EFB;&#x4F55;&#x5546;&#x696D;&#x884C;&#x7232;&#x4F7F;&#x7528;&#x6216;&#x5F15;&#x7528;&#x8A72; <strong>&#x8B80;&#x66F8;&#x7B46;&#x8A18;</strong> &#x7684;&#x5168;&#x90E8;&#x6216;&#x90E8;&#x5206;&#x5167;&#x5BB9;!</p>
<p>&#x6B61;&#x8FCE;&#x5927;&#x5BB6;&#x63D0;&#x4F9B;&#x5EFA;&#x8B70;!</p>
<h1 id="&#x524D;&#x8A00;">&#x524D;&#x8A00;</h1>
<p><em>&#x201C;Go&#x662F;&#x4E00;&#x500B;&#x958B;&#x6E90;&#x7684;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;&#xFF0C;&#x5B83;&#x5F88;&#x5BB9;&#x6613;&#x69CB;&#x5EFA;&#x7C21;&#x55AE;&#x3001;&#x53EF;&#x9760;&#x548C;&#x9AD8;&#x6548;&#x7684;&#x8EDF;&#x4EF6;&#x3002;&#x201D;&#xFF08;&#x6458;&#x81EA;Go&#x8A9E;&#x8A00;&#x5B98;&#x7DB2;&#xFF1A;<a href="http://golang.org&#xFF09;" target="_blank">http://golang.org&#xFF09;</a></em></p>
<p>Go&#x8A9E;&#x8A00;&#x6709;Google&#x7684;Robert Griesemer, Rob Pike, &#x548C; Ken Thompson&#x65BC;2007&#x5E74;9&#x6708;&#x9AEE;&#x8D77;,
&#x7136;&#x5F8C;&#x5728;2009&#x5E74;&#x7684;11&#x6708;&#x5C0D;&#x5916;&#x6B63;&#x5F0F;&#x9AEE;&#x4F48;. &#x8A9E;&#x8A00;&#x53CA;&#x5176;&#x914D;&#x5957;&#x7684;&#x5DE5;&#x5177;&#x7684;&#x76EE;&#x6A19;&#x662F;&#x5177;&#x6709;&#x9336;&#x9054;&#x529B;,
<p>Go&#x8A9E;&#x8A00;&#x6709;Google&#x7684;Robert Griesemer, Rob Pike, &#x548C; Ken Thompson&#x65BC;2007&#x5E74;9&#x6708;&#x767C;&#x8D77;,
&#x7136;&#x5F8C;&#x5728;2009&#x5E74;&#x7684;11&#x6708;&#x5C0D;&#x5916;&#x6B63;&#x5F0F;&#x767C;&#x5E03;. &#x8A9E;&#x8A00;&#x53CA;&#x5176;&#x914D;&#x5957;&#x7684;&#x5DE5;&#x5177;&#x7684;&#x76EE;&#x6A19;&#x662F;&#x5177;&#x6709;&#x8868;&#x9054;&#x529B;,
&#x9AD8;&#x6548;&#x7684;&#x7DE8;&#x8B6F;&#x548C;&#x57F7;&#x884C;, &#x6709;&#x6548;&#x5730;&#x7DE8;&#x5BEB;&#x9AD8;&#x6548;&#x548C;&#x5065;&#x58EF;&#x7684;&#x7A0B;&#x5E8F;.</p>
<p>Go&#x6709;&#x7740;&#x548C;C&#x985E;&#x4F3C;&#x7684;&#x5916;&#x9336;, &#x548C;C&#x4E00;&#x6A23;&#x662F;&#x5C08;&#x696D;&#x7A0B;&#x5E8F;&#x54E1;&#x7684;&#x5DE5;&#x5177;, &#x7528;&#x6700;&#x5C0F;&#x7684;&#x4EE3;&#x50F9;&#x7A6B;&#x5F97;&#x6700;&#x5927;&#x7684;&#x6548;&#x679C;.
&#x4F46;&#x662F;&#x5B83;&#x4E0D;&#x50C5;&#x50C5;&#x662F;&#x4E00;&#x500B;&#x66F4;&#x65B0;&#x7684;C. &#x5B83;&#x9084;&#x5F9E;&#x5176;&#x4ED6;&#x8A9E;&#x8A00;&#x501F;&#x9451;&#x4E86;&#x5F88;&#x591A;&#x597D;&#x7684;&#x60F3;&#x6CD5;, &#x8855;&#x6642;&#x907F;&#x514D;&#x4E86;&#x904E;&#x5EA6;&#x7684;&#x5FA9;&#x96DC;&#x6027;.
Go&#x4E2D;&#x548C;&#x4F75;&#x9AEE;&#x76F8;&#x95DC;&#x7684;&#x7279;&#x6027;&#x662F;&#x65B0;&#x7684;&#x4E5F;&#x662F;&#x6709;&#x6548;&#x7684;, &#x8855;&#x6642;&#x5C0D;&#x6578;&#x64DA;&#x62BD;&#x8C61;&#x548C;&#x9EAB;&#x66CF;&#x5C0D;&#x8C61;&#x7684;&#x652F;&#x6301;&#x4E5F;&#x5F88;&#x9748;&#x6D3B;.
&#x8855;&#x6642;&#x9084;&#x96C6;&#x6210;&#x4E86;&#x81EA;&#x52D5;&#x5783;&#x573E;&#x6536;&#x96C6;&#x7528;&#x65BC;&#x7BA1;&#x7406;&#x5167;&#x5B58;.</p>
<p>Go&#x5C24;&#x5176;&#x9069;&#x95A4;&#x7DE8;&#x5BEB;&#x7DB2;&#x7D61;&#x670D;&#x52D9;&#x76F8;&#x95DC;&#x57FA;&#x790E;&#x8A2D;&#x65BD;, &#x4E5F;&#x9069;&#x95A4;&#x958B;&#x9AEE;&#x4E00;&#x4E9B;&#x5DE5;&#x5177;&#x548C;&#x7E6B;&#x7D71;&#x8EDF;&#x4EF6;.
<p>Go&#x6709;&#x7740;&#x548C;C&#x985E;&#x4F3C;&#x7684;&#x5916;&#x8868;, &#x548C;C&#x4E00;&#x6A23;&#x662F;&#x5C08;&#x696D;&#x7A0B;&#x5E8F;&#x54E1;&#x7684;&#x5DE5;&#x5177;, &#x7528;&#x6700;&#x5C0F;&#x7684;&#x4EE3;&#x50F9;&#x7A6B;&#x5F97;&#x6700;&#x5927;&#x7684;&#x6548;&#x679C;.
&#x4F46;&#x662F;&#x5B83;&#x4E0D;&#x50C5;&#x50C5;&#x662F;&#x4E00;&#x500B;&#x66F4;&#x65B0;&#x7684;C. &#x5B83;&#x9084;&#x5F9E;&#x5176;&#x4ED6;&#x8A9E;&#x8A00;&#x501F;&#x9452;&#x4E86;&#x5F88;&#x591A;&#x597D;&#x7684;&#x60F3;&#x6CD5;, &#x540C;&#x6642;&#x907F;&#x514D;&#x4E86;&#x904E;&#x5EA6;&#x7684;&#x8907;&#x96DC;&#x6027;.
Go&#x4E2D;&#x548C;&#x4F75;&#x767C;&#x76F8;&#x95DC;&#x7684;&#x7279;&#x6027;&#x662F;&#x65B0;&#x7684;&#x4E5F;&#x662F;&#x6709;&#x6548;&#x7684;, &#x540C;&#x6642;&#x5C0D;&#x6578;&#x64DA;&#x62BD;&#x8C61;&#x548C;&#x9762;&#x5411;&#x5C0D;&#x8C61;&#x7684;&#x652F;&#x6301;&#x4E5F;&#x5F88;&#x9748;&#x6D3B;.
&#x540C;&#x6642;&#x9084;&#x96C6;&#x6210;&#x4E86;&#x81EA;&#x52D5;&#x5783;&#x573E;&#x6536;&#x96C6;&#x7528;&#x65BC;&#x7BA1;&#x7406;&#x5167;&#x5B58;.</p>
<p>Go&#x5C24;&#x5176;&#x9069;&#x5408;&#x7DE8;&#x5BEB;&#x7DB2;&#x7D61;&#x670D;&#x52D9;&#x76F8;&#x95DC;&#x57FA;&#x790E;&#x8A2D;&#x65BD;, &#x4E5F;&#x9069;&#x5408;&#x958B;&#x767C;&#x4E00;&#x4E9B;&#x5DE5;&#x5177;&#x548C;&#x7E6B;&#x7D71;&#x8EDF;&#x4EF6;.
&#x4F46;&#x662F;Go&#x78BA;&#x5BE6;&#x662F;&#x4E00;&#x500B;&#x901A;&#x7528;&#x7684;&#x7DE8;&#x7A0B;&#x8A9E;&#x8A00;, &#x5B83;&#x4E5F;&#x53EF;&#x4EE5;&#x7528;&#x5728;&#x5716;&#x5F62;&#x5716;&#x50CF;&#x9A45;&#x52D5;, &#x79FB;&#x52D5;&#x61C9;&#x7528;&#x7A0B;&#x5E8F;,
&#x548C;&#x6A5F;&#x5668;&#x5B78;&#x7FD2;&#x7B49;&#x9818;&#x57DF;.&#x5B83;&#x5DF2;&#x7D93;&#x6210;&#x70BA;&#x53D7;&#x6B61;&#x8FCE;&#x7684;&#x4F5C;&#x70BA;&#x7121;&#x985E;&#x4F3C;&#x8173;&#x672C;&#x8A9E;&#x8A00;&#x7684;&#x66FF;&#x4EE3;&#x8005;:
&#x56E0;&#x70BA;Go&#x7DE8;&#x5BEB;&#x7684;&#x7A0B;&#x5E8F;&#x901A;&#x5E38;&#x6BD4;&#x8173;&#x672C;&#x8A9E;&#x8A00;&#x904B;&#x884C;&#x7684;&#x66F4;&#x5FEB;&#x66F4;&#x5B89;&#x5168;, &#x5F88;&#x5C11;&#x6703;&#x9AEE;&#x751F;&#x610F;&#x5916;&#x7684;&#x985E;&#x578B;&#x932F;&#x8AA4;.</p>
&#x548C;&#x6A5F;&#x5668;&#x5B78;&#x7FD2;&#x7B49;&#x9818;&#x57DF;.&#x5B83;&#x5DF2;&#x7D93;&#x6210;&#x7232;&#x53D7;&#x6B61;&#x8FCE;&#x7684;&#x4F5C;&#x7232;&#x7121;&#x985E;&#x4F3C;&#x8173;&#x672C;&#x8A9E;&#x8A00;&#x7684;&#x66FF;&#x4EE3;&#x8005;:
&#x56E0;&#x7232;Go&#x7DE8;&#x5BEB;&#x7684;&#x7A0B;&#x5E8F;&#x901A;&#x5E38;&#x6BD4;&#x8173;&#x672C;&#x8A9E;&#x8A00;&#x904B;&#x884C;&#x7684;&#x66F4;&#x5FEB;&#x66F4;&#x5B89;&#x5168;, &#x5F88;&#x5C11;&#x6703;&#x767C;&#x751F;&#x610F;&#x5916;&#x7684;&#x985E;&#x578B;&#x932F;&#x8AA4;.</p>
<p>Go&#x662F;&#x4E00;&#x500B;&#x958B;&#x6E90;&#x7684;&#x9805;&#x76EE;, &#x56E0;&#x6B64;&#x53EF;&#x4EE5;&#x514D;&#x8CBB;&#x7A6B;&#x7DE8;&#x8B6F;&#x5668;/&#x5EAB;/&#x914D;&#x5957;&#x5DE5;&#x5177;&#x7684;&#x6E90;&#x78BC;.
&#x5B83;&#x7684;&#x8CA2;&#x737B;&#x8005;&#x4F86;&#x81EA;&#x4E00;&#x500B;&#x6D3B;&#x8E8D;&#x7684;&#x5168;&#x7403;&#x793E;&#x5340;. Go&#x53EF;&#x4EE5;&#x904B;&#x884C;&#x5728;&#x985E;UNIX&#x7E6B;&#x7D71;&#x4E0A;,
&#x6BD4;&#x5982;Linux, FreeBSD, OpenBSD, Mac OSX, Plan9, &#x9084;&#x6709; Microsoft Windows.
&#x7DE8;&#x5BEB;&#x7684;&#x7A0B;&#x5E8F;&#x7121;&#x9700;&#x8129;&#x6539;&#x5C31;&#x53EF;&#x4EE5;&#x904B;&#x884C;&#x5728;&#x9019;&#x4E9B;&#x74B0;&#x5883;.</p>
<p>&#x672C;&#x66F8;&#x662F;&#x70BA;&#x4E86;&#x5E6B;&#x52A9;&#x4F60;&#x958B;&#x59CB;&#x5DF2;&#x6709;&#x6548;&#x7684;&#x65B9;&#x5F0F;&#x4F7F;&#x7528;Go, &#x5145;&#x5206;&#x5229;&#x7528;&#x8A9E;&#x8A00;&#x7684;&#x7279;&#x6027;&#x548C;&#x6A19;&#x6E96;&#x5EAB;&#x53BB;&#x7DE8;&#x5BEB;&#x6E05;&#x6670;&#x5730;&#x9053;&#x7684;Go&#x7A0B;&#x5E8F;.</p>
<p>&#x672C;&#x66F8;&#x662F;&#x7232;&#x4E86;&#x5E6B;&#x52A9;&#x4F60;&#x958B;&#x59CB;&#x5DF2;&#x6709;&#x6548;&#x7684;&#x65B9;&#x5F0F;&#x4F7F;&#x7528;Go, &#x5145;&#x5206;&#x5229;&#x7528;&#x8A9E;&#x8A00;&#x7684;&#x7279;&#x6027;&#x548C;&#x6A19;&#x6E96;&#x5EAB;&#x53BB;&#x7DE8;&#x5BEB;&#x6E05;&#x6670;&#x5730;&#x9053;&#x7684;Go&#x7A0B;&#x5E8F;.</p>
</section>