更新go buildin tools

main
tink 2 years ago
parent 35a3dde178
commit ea1e4f113a

@ -104,7 +104,7 @@ Ctrl + X + 1 // 显示一个窗口
(gdb) start
```
`start` 命令相当于在Go程序的入口函数`main.main` (`main.main` 代表 `main` 包的 `main` 函数)处设置断点,然后运行 `run` 命令:
`start` 命令相当于在Go程序的入口函数 `main.main` (`main.main` 代表 `main` 包的 `main` 函数)处设置断点,然后运行 `run` 命令:
```bash
(gdb) b main.main

@ -247,49 +247,49 @@ SCHED 2018ms: gomaxprocs=8 idleprocs=8 threads=16 spinningthreads=0 idlethreads=
### GC
GC相关的参数是gctrace当设置为1时候会输出gc信息到标准err输出中。使用方式示例如下:
GC 相关的参数是 gctrace当设置为1时候会输出GC相关信息到标准错误输出。使用方式示例如下:
```shell
GODEBUG=gctrace=1 godoc -http=:8080
GODEBUG=gctrace=1 go run main.go
```
GC时候输出的内容格式如下
GC 时候输出的内容格式如下:
> gc# @#s #%: #+#+# ms clock, #+#/#/#+# ms cpu, #->#-># MB, # MB goal, #P
```rust
gc # @#s #%: #+#+# ms clock, #+#/#/#+# ms cpu, #->#-># MB, # MB goal, # P
```
格式解释说明如下:
- gc#GC 执行次数的编号,每次叠加。
- @#s自程序启动后到当前的具体秒数。
- #%自程序启动以来在GC中花费的时间百分比。
- #+...+#GC 的标记工作共使用的 CPU 时间占总 CPU 时间的百分比。
- #->#-># MB分别表示 GC 启动时, GC 结束时, GC 活动时的堆大小.
- #MB goal下一次触发 GC 的内存占用阈值
- #P:当前使用的处理器 P 的数量
- **gc #**GC 编号,每次 GC 时递增
- **@#s**:程序自启动以来的时间(单位秒)
- **#%**:程序自启动以来花费在 GC 上的时间百分比
- **#+...+#**GC 各阶段花费的时间分别为单个P的墙上时间和累计CPU时间
- **#->#-># MB**:分别表示 GC 启动时, GC 结束时, GC 活动时的堆大小
- **#MB goal**:下一次触发 GC 的内存占用阈值
- **#P**当前使用的处理器P的数量
比如对于下输出内容:
比如对于下面的输出内容,详细解释如下
> gc 100 @0.904s 11%: 0.043+2.8+0.029 ms clock, 0.34+3.4/5.4/0+0.23 ms cpu, 10->11->6 MB, 12 MB goal, 8 P
> gc 100 @0.904s 11%: 0.043+2.8+0.029 ms clock, 0.34+3.4/5.4/13.6+0.23 ms cpu, 10->11->6 MB, 12 MB goal, 8 P
- gc 100第 100 次 GC
- @0.904s当前时间是程序启动后的0.904s
- 11%:程序启动后到现在共花费 11% 的时间在 GC 上
- 0.043+2.8+0.029 ms clock
- **gc 100**:第 100 次 GC
- **@0.904s**当前时间是程序启动后的0.904s
- **11%**:程序启动后到现在共花费 11% 的时间在 GC 上
- **0.043+2.8+0.029 ms clock**
- 0.043:表示单个 P 在 mark 阶段的 STW 时间
- 2.8:表示所有 P 的 mark concurrent并发标记所使用的时间
- 2.8:表示所有 P 的 concurrent mark(并发标记)所使用的时间
- 0.029:表示单个 P 的 markTermination 阶段的 STW 时间
- 0.34+3.4/5.4/0+0.23 ms cpu:
- 0.34:表示整个进程在 mark 阶段 STW 停顿的时间一共0.34秒
- 3.4/5.4/03.4 表示 mutator assist 占用的时间5.4 表示 dedicated + fractional 占用的时间0 表示 idle 占用的时间
- 0.23 ms0.23 表示整个进程在 markTermination 阶段 STW 时间
- 10->11->6 MB:
- **0.34+3.4/5.4/0+0.23 ms cpu**
- 0.34:表示整个进程在 mark 阶段 STW 停顿的时间一共0.34秒,即 0.043 * 8
- 3.4/5.4/13.63.4 表示 mutator assist 占用的时间5.4 表示 dedicated + fractional 占用的时间13.6 表示 idle 占用的时间。这三块累计时间为22.4即2.8 * 8
- 0.23 ms0.23 表示整个进程在 markTermination 阶段 STW 时间即0.029 * 8
- **10->11->6 MB**
- 10表示开始 mark 阶段前的 heap_live 大小
- 11表示开始 markTermination 阶段前的 heap_live 大小
- 6表示被标记对象的大小
- 12 MB goal表示下一次触发 GC 回收的阈值是 12 MB
- 8 P本次 GC 一共涉及8 P
- **12 MB goal**:表示下一次触发 GC 回收的阈值是 12 MB
- **8 P**:本次 GC 一共涉及8 P
#### GOGC参数

@ -16,7 +16,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -23,7 +23,7 @@ dlv debug main.go 如果当前目录是 main 包所在目录时候,可以不
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -23,7 +23,7 @@ go build -gcflags=&#34;-N -l&#34; -o test main.go 启动调试 # gdb ./test #
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -23,7 +23,7 @@ go build -n # -n选项用来显示编译过程中所有执行的命令不会
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>
@ -507,66 +507,51 @@ go tool objdump -s &#34;main.(main|add)&#34; ./test # objdump支持搜索特定
GC
<a class="anchor" href="#gc">#</a>
</h3>
<p>与GC相关的参数是gctrace当设置为1时候会输出gc信息到标准err输出中。使用方式示例如下</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>GODEBUG<span style="color:#f92672">=</span>gctrace<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span> godoc -http<span style="color:#f92672">=</span>:8080
</span></span></code></pre></div><p>GC时候输出的内容格式如下</p>
<blockquote>
<p>gc# @#s #%: #+#+# ms clock, #+#/#/#+# ms cpu, #-&gt;#-&gt;# MB, # MB goal, #P</p>
</blockquote>
<p>格式解释说明如下:</p>
<p>与 GC 相关的参数是 gctrace当设置为1时候会输出GC相关信息到标准错误输出。使用方式示例如下</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-shell" data-lang="shell"><span style="display:flex;"><span>GODEBUG<span style="color:#f92672">=</span>gctrace<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span> go run main.go
</span></span></code></pre></div><p>GC 时候输出的内容格式如下:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-rust" data-lang="rust"><span style="display:flex;"><span>gc # <span style="color:#f92672">@</span>#s #<span style="color:#f92672">%</span>: #<span style="color:#f92672">+</span>#<span style="color:#f92672">+</span># ms clock, #<span style="color:#f92672">+</span>#<span style="color:#f92672">/</span>#<span style="color:#f92672">/</span>#<span style="color:#f92672">+</span># ms cpu, #-&gt;#-&gt;# <span style="color:#66d9ef">MB</span>, # <span style="color:#66d9ef">MB</span> goal, # P
</span></span></code></pre></div><p>格式解释说明如下:</p>
<ul>
<li>gc#GC 执行次数的编号,每次叠加。</li>
<li>@#s自程序启动后到当前的具体秒数。</li>
<li>#%自程序启动以来在GC中花费的时间百分比。</li>
<li>#+&hellip;+#GC 的标记工作共使用的 CPU 时间占总 CPU 时间的百分比。</li>
<li>#-&gt;#-&gt;# MB分别表示 GC 启动时, GC 结束时, GC 活动时的堆大小.</li>
<li>#MB goal下一次触发 GC 的内存占用阈值</li>
<li>#P当前使用的处理器 P 的数量</li>
<li><strong>gc #</strong>GC 编号,每次 GC 时递增</li>
<li><strong>@#s</strong>:程序自启动以来的时间(单位秒)</li>
<li><strong>#%</strong>:程序自启动以来花费在 GC 上的时间百分比</li>
<li><strong>#+&hellip;+#</strong>GC 各阶段花费的时间分别为单个P的墙上时间和累计CPU时间</li>
<li><strong>#-&gt;#-&gt;# MB</strong>:分别表示 GC 启动时, GC 结束时, GC 活动时的堆大小</li>
<li><strong>#MB goal</strong>:下一次触发 GC 的内存占用阈值</li>
<li><strong>#P</strong>当前使用的处理器P的数量</li>
</ul>
<p>比如对于下输出内容:</p>
<p>比如对于下面的输出内容,详细解释如下</p>
<blockquote>
<p>gc 100 @0.904s 11%: 0.043+2.8+0.029 ms clock, 0.34+3.4/5.4/0+0.23 ms cpu, 10-&gt;11-&gt;6 MB, 12 MB goal, 8 P</p>
<p>gc 100 @0.904s 11%: 0.043+2.8+0.029 ms clock, 0.34+3.4/5.4/13.6+0.23 ms cpu, 10-&gt;11-&gt;6 MB, 12 MB goal, 8 P</p>
</blockquote>
<ul>
<li>
<p>gc 100第 100 次 GC</p>
</li>
<li>
<p>@0.904s当前时间是程序启动后的0.904s</p>
</li>
<li>
<p>11%:程序启动后到现在共花费 11% 的时间在 GC 上</p>
</li>
<li>
<p>0.043+2.8+0.029 ms clock</p>
<li><strong>gc 100</strong>:第 100 次 GC</li>
<li><strong>@0.904s</strong>当前时间是程序启动后的0.904s</li>
<li><strong>11%</strong>:程序启动后到现在共花费 11% 的时间在 GC 上</li>
<li><strong>0.043+2.8+0.029 ms clock</strong>
<ul>
<li>0.043:表示单个 P 在 mark 阶段的 STW 时间</li>
<li>2.8:表示所有 P 的 mark concurrent并发标记所使用的时间</li>
<li>2.8:表示所有 P 的 concurrent mark并发标记所使用的时间</li>
<li>0.029:表示单个 P 的 markTermination 阶段的 STW 时间</li>
</ul>
</li>
<li>
<p>0.34+3.4/5.4/0+0.23 ms cpu:</p>
<li><strong>0.34+3.4/5.4/0+0.23 ms cpu</strong>
<ul>
<li>0.34:表示整个进程在 mark 阶段 STW 停顿的时间一共0.34秒</li>
<li>3.4/5.4/03.4 表示 mutator assist 占用的时间5.4 表示 dedicated + fractional 占用的时间0 表示 idle 占用的时间</li>
<li>0.23 ms0.23 表示整个进程在 markTermination 阶段 STW 时间</li>
<li>0.34:表示整个进程在 mark 阶段 STW 停顿的时间一共0.34秒,即 0.043 * 8</li>
<li>3.4/5.4/13.63.4 表示 mutator assist 占用的时间5.4 表示 dedicated + fractional 占用的时间13.6 表示 idle 占用的时间。这三块累计时间为22.4即2.8 * 8</li>
<li>0.23 ms0.23 表示整个进程在 markTermination 阶段 STW 时间即0.029 * 8</li>
</ul>
</li>
<li>
<p>10-&gt;11-&gt;6 MB:</p>
<li><strong>10-&gt;11-&gt;6 MB</strong>
<ul>
<li>10表示开始 mark 阶段前的 heap_live 大小</li>
<li>11表示开始 markTermination 阶段前的 heap_live 大小</li>
<li>6表示被标记对象的大小</li>
</ul>
</li>
<li>
<p>12 MB goal表示下一次触发 GC 回收的阈值是 12 MB</p>
</li>
<li>
<p>8 P本次 GC 一共涉及8 P</p>
</li>
<li><strong>12 MB goal</strong>:表示下一次触发 GC 回收的阈值是 12 MB</li>
<li><strong>8 P</strong>:本次 GC 一共涉及8 个P</li>
</ul>
<h4 id="gogc参数">
GOGC参数

@ -16,7 +16,7 @@ GDB Delve Go 内置工具 ">
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -15,7 +15,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -33,7 +33,7 @@ Lexemes Tokens c identifier = assignment symbol a identifier &#43; &#43; (additi
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -27,7 +27,7 @@ func AddT(addr *T, delta T) (new T) func CompareAndSwapT(addr *T, old, new T) (s
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -63,7 +63,7 @@ type hchan struct {
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -31,7 +31,7 @@ Context是由Golang官方开发的并发控制包一方面可以用于当请
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -16,7 +16,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -29,7 +29,7 @@ var a, b int // goroutine A go func() { a = 1 b = 2 }() // goroutine B go func()
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -17,7 +17,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -23,7 +23,7 @@ type readOnly struct { m map[interface{}]*entry amended bool // 当amended为tru
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -17,7 +17,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -23,7 +23,7 @@ func (o *Once) Do(f func()) { if atomic.LoadUint32(&amp;o.done) == 0 {// 原子
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -23,7 +23,7 @@ Pool&rsquo;s purpose is to cache allocated but unused items for later reuse, rel
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -31,7 +31,7 @@ RWMutex的定义 # type RWMutex struct { w Mutex // 互斥锁 writerSem uint32 /
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -17,7 +17,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -0,0 +1 @@
"use strict";(function(){const o="/en.search-data.min.5af7b69c60e23ca5ded25f8e127693d033d68a5642e15c144bb0fc41480f71a8.json",i=Object.assign({cache:!0},{doc:{id:"id",field:["title","content"],store:["title","href","section"]}}),e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",a);function a(t){if(t.target.value!==void 0)return;if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!r(n))return;e.focus(),t.preventDefault()}function r(t){const n=e.getAttribute("data-hotkeys")||"";return n.indexOf(t)>=0}function n(){e.removeEventListener("focus",n),e.required=!0,fetch(o).then(e=>e.json()).then(e=>{window.bookSearchIndex=FlexSearch.create("balance",i),window.bookSearchIndex.add(e)}).then(()=>e.required=!1).then(s)}function s(){for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.value)return;const n=window.bookSearchIndex.search(e.value,10);n.forEach(function(e){const n=c("<li><a href></a><small></small></li>"),s=n.querySelector("a"),o=n.querySelector("small");s.href=e.href,s.textContent=e.title,o.textContent=e.section,t.appendChild(n)})}function c(e){const t=document.createElement("div");return t.innerHTML=e,t.firstChild}})()

@ -19,7 +19,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -27,7 +27,7 @@ defer函数可以读取和修改函数的命名返回值 # func main() { fmt.Pri
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -23,7 +23,7 @@ func main() { a := make([]int, 3) for i, v := range a { fmt.Println(i, v) } a =
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -16,7 +16,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -29,7 +29,7 @@ func main() { defer recover() panic(&#34;it is panic&#34;) // not recover } case
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -21,7 +21,7 @@ For all the cases in the statement, the channel operands of receive operations a
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -41,7 +41,7 @@ package main func sum(a, b int) int { sum := 0 sum = a &#43; b return sum } func
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -35,7 +35,7 @@ package main func A() func() int { i := 3 return func() int { return i } } func
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -19,7 +19,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -16,7 +16,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -25,7 +25,7 @@ LEAQ go." />
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -21,7 +21,7 @@ C&#43;&#43;中指针传递 # #include &lt;stdio.h&gt; void swap(int* a,int *b){
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -47,7 +47,7 @@ Goroutine = Golang &#43; Coroutine。Goroutine是golang实现的协程是用
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -16,7 +16,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -17,7 +17,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -35,7 +35,7 @@ ARM 汇编 数据单元大小 # 汇编中数据单元大小可分为:
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -20,7 +20,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -25,7 +25,7 @@ Golang中内存分配管理的对象按照大小可以分为
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -39,7 +39,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -16,7 +16,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -15,7 +15,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -16,7 +16,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -17,7 +17,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -17,7 +17,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -17,7 +17,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -27,7 +27,7 @@ func main() { var a1 [3]int var a2 [3]int var a3 [5]int fmt.Println(a1 == a2) //
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -21,7 +21,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -16,7 +16,7 @@
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -25,7 +25,7 @@ Go语言中映射中key若出现冲突碰撞时候则采用链地址法解决
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -25,7 +25,7 @@ nil # nil 是Go语言中的一个变量是预先声明的标识符用来
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -25,7 +25,7 @@ func main() { var A int = 100 var B *int = &amp;A fmt.Println(A == *B) } 转换
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -37,7 +37,7 @@ func main() { slice1 := make([]int, 0) slice2 := make([]int, 1, 3) slice3 := []i
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

@ -31,7 +31,7 @@ go build -o string string.go # 构建二进制应用 gdb ." />
<link rel="icon" href="/favicon.png" >
<link rel="stylesheet" href="/book.min.f06572240ce28e67eb332ac5cf5d59a696c47ad4c6f700d5842c5ed93dd8ec77.css" integrity="sha256-8GVyJAzijmfrMyrFz11ZppbEetTG9wDVhCxe2T3Y7Hc=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.b60b587eec74092fc10c110f802948ebe5dc902d7b8dfdc51f147ae4038eec1d.js" integrity="sha256-tgtYfux0CS/BDBEPgClI6&#43;XckC17jf3FHxR65AOO7B0=" crossorigin="anonymous"></script>
<script defer src="/en.search.min.17ed8785d618483565ce5458241250de0bb24d7b931b8b71446036ef43affd37.js" integrity="sha256-F&#43;2HhdYYSDVlzlRYJBJQ3guyTXuTG4txRGA270Ov/Tc=" crossorigin="anonymous"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ229RRTTX"></script>
<script>

Loading…
Cancel
Save