This commit is contained in:
github-actions[bot]
2022-08-04 07:15:39 +00:00
parent ca571eb691
commit b706f63726
34 changed files with 9 additions and 60436 deletions

View File

@@ -437,11 +437,9 @@ gopl.io/ch7/xmlselect
<pre><code>$ go list -f '{{join .Deps &quot; &quot;}}' strconv
errors math runtime unicode/utf8 unsafe
</code></pre>
<p>{% endraw %}</p>
<p>译注上面的命令在Windows的命令行运行会遇到<code>template: main:1: unclosed action</code>的错误。产生这个错误的原因是因为命令行对命令中的<code>&quot; &quot;</code>参数进行了转义处理。可以按照下面的方法解决转义字符串的问题:</p>
<pre><code>$ go list -f &quot;{{join .Deps \&quot; \&quot;}}&quot; strconv
</code></pre>
<p>{% endraw %}</p>
<p>下面的命令打印compress子目录下所有包的导入包列表</p>
<pre><code>$ go list -f '{{.ImportPath}} -&gt; {{join .Imports &quot; &quot;}}' compress/...
compress/bzip2 -&gt; bufio io sort
@@ -450,11 +448,9 @@ compress/gzip -&gt; bufio compress/flate errors fmt hash hash/crc32 io time
compress/lzw -&gt; bufio errors fmt io
compress/zlib -&gt; bufio compress/flate errors fmt hash hash/adler32 io
</code></pre>
<p>{% endraw %}</p>
<p>译注Windows下有同样有问题要避免转义字符串的干扰</p>
<pre><code>$ go list -f &quot;{{.ImportPath}} -&gt; {{join .Imports \&quot; \&quot;}}&quot; compress/...
</code></pre>
<p>{% endraw %}</p>
<p><code>go list</code>命令对于一次性的交互式查询或自动化构建或测试脚本都很有帮助。我们将在11.2.4节中再次使用它。每个子命令的更多信息,包括可设置的字段和意义,可以用<code>go help list</code>命令查看。</p>
<p>在本章我们解释了Go语言工具中除了测试命令之外的所有重要的子命令。在下一章我们将看到如何用<code>go test</code>命令去运行Go语言程序中的测试代码。</p>
<p><strong>练习 10.4</strong> 创建一个工具,根据命令行指定的参数,报告工作区所有依赖包指定的其它包集合。提示:你需要运行<code>go list</code>命令两次一次用于初始化包一次用于所有包。你可能需要用encoding/json§4.5包来分析输出的JSON格式的信息。</p>