教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 Golang基础之切片基础习题——李文周老师

Golang基础之切片基础习题——李文周老师

发布时间:2022-02-17   编辑:jiaochengji.com
教程集为您提供Golang基础之切片基础习题——李文周老师等资源,欢迎您收藏本站,我们将为您提供最新的Golang基础之切片基础习题——李文周老师资源
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"/></svg>

1. 请写出下面代码的输出结果。

<pre><code class="lang-go hljs"><span class="token keyword">func</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">var</span> a <span class="token operator">=</span> <span class="token function">make</span><span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token builtin">string</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">10</span><span class="token punctuation">)</span> <span class="token keyword">for</span> i <span class="token operator">:=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator"><</span> <span class="token number">10</span><span class="token punctuation">;</span> i<span class="token operator"> </span> <span class="token punctuation">{</span> a <span class="token operator">=</span> <span class="token function">append</span><span class="token punctuation">(</span>a<span class="token punctuation">,</span> fmt<span class="token punctuation">.</span><span class="token function">Sprintf</span><span class="token punctuation">(</span><span class="token string">"%v"</span><span class="token punctuation">,</span> i<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">}</span> fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span>a<span class="token punctuation">)</span> <span class="token punctuation">}</span> </code></pre>

运行截图:
结果分析:起初我误以为a切片的类型为int,故推测结果为[0,0,0,0,0,0,1,2,3,4,5,6,7,8,9],因为int类型的切片其元素有default值——0,而string型没有,所以本题运行结果如图中所示(看清元素之间没有comma)。至于切片扩容,由于新申请的长度都为1不大于旧切片长度的二倍,且旧切片的长度小于1024,所以旧切片长度的二倍就是扩容后的切片容量。
而此题中向string型切片中添加其他类型的元素请参考Go 字符切片中添加其他类型元素,其中涉及到切片类型的转换问题,此处不宜多讲,可参阅其他资料查询。
2. 请使用内置的sort包对数组var a = […]int{3, 7, 8, 9, 1}进行排序(附加题,自行查资料解答)。
代码如下:

<pre><code class="lang-go hljs"><span class="token keyword">package</span> main <span class="token keyword">import</span> <span class="token punctuation">(</span> <span class="token string">"fmt"</span> <span class="token string">"sort"</span> <span class="token punctuation">)</span> <span class="token keyword">func</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">var</span> a <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token operator">...</span><span class="token punctuation">]</span><span class="token builtin">int</span><span class="token punctuation">{</span><span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">7</span><span class="token punctuation">,</span> <span class="token number">8</span><span class="token punctuation">,</span> <span class="token number">9</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">}</span> sort<span class="token punctuation">.</span><span class="token function">Ints</span><span class="token punctuation">(</span>a<span class="token punctuation">[</span><span class="token punctuation">:</span><span class="token punctuation">]</span><span class="token punctuation">)</span> fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span>a<span class="token punctuation">)</span> <span class="token punctuation">}</span> </code></pre>

运行结果:
此外,内置的sort包还可以对float、string类型的切片进行排序
参考文章:golang之切片与排序
题目出处:[李文周Go基础之切片基础](https://www.liwenzhou.com/posts/Go/06_slice/)

到此这篇关于“Golang基础之切片基础习题——李文周老师”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
网页标题随机显示名言js代码
Golang基础之切片基础习题——李文周老师
专家教你如何有效的学习Drupal - Drupal问答
golang基础教程
PHPExcel 中文使用手册详解
探索Golang协程实现——从v1.0开始
css 定位(相对定位与绝对定位)
Go 零基础编程入门教程
更改MySQL数据库名实例代码
MySQL中group_concat函数使用例子

[关闭]
~ ~