golang 中 map 的使用
发布时间:2022-02-02 编辑:jiaochengji.com
教程集为您提供golang 中 map 的使用等资源,欢迎您收藏本站,我们将为您提供最新的golang 中 map 的使用资源
<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><h4>golang 中 map 的初始化方式</h4>
<pre><code class="lang-go hljs"><span class="token comment">// (1)先声明 map</span>
<span class="token keyword">var</span> m1 <span class="token keyword">map</span><span class="token punctuation">[</span><span class="token builtin">int</span><span class="token punctuation">]</span><span class="token builtin">int</span>
<span class="token comment">// 再使用make函数创建一个非nil的map,nil map不能赋值</span>
m1 <span class="token operator">=</span> <span class="token function">make</span><span class="token punctuation">(</span><span class="token keyword">map</span><span class="token punctuation">[</span><span class="token builtin">int</span><span class="token punctuation">]</span><span class="token builtin">int</span><span class="token punctuation">)</span>
<span class="token comment">// 赋值</span>
m1<span class="token punctuation">[</span><span class="token number">66</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">55</span>
fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span>m1<span class="token punctuation">)</span> <span class="token comment">// map[66:55]</span>
<span class="token comment">// (2)直接 make 创建</span>
m2 <span class="token operator">:=</span> <span class="token function">make</span><span class="token punctuation">(</span><span class="token keyword">map</span><span class="token punctuation">[</span><span class="token builtin">string</span><span class="token punctuation">]</span><span class="token builtin">string</span><span class="token punctuation">)</span>
<span class="token comment">// 赋值</span>
m2<span class="token punctuation">[</span><span class="token string">"hello"</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token string">"world"</span>
fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span>m2<span class="token punctuation">)</span> <span class="token comment">// map[hello:world]</span>
<span class="token comment">// (3)初始化 赋值一体化</span>
m3 <span class="token operator">:=</span> <span class="token keyword">map</span><span class="token punctuation">[</span><span class="token builtin">float32</span><span class="token punctuation">]</span><span class="token builtin">float32</span><span class="token punctuation">{</span><span class="token punctuation">}</span> <span class="token comment">// 赋值为空</span>
fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span>m3<span class="token punctuation">)</span> <span class="token comment">// map[]</span>
m31 <span class="token operator">:=</span> <span class="token keyword">map</span><span class="token punctuation">[</span><span class="token builtin">float64</span><span class="token punctuation">]</span><span class="token builtin">float64</span><span class="token punctuation">{</span>
<span class="token number">3.14</span><span class="token punctuation">:</span> <span class="token number">3.1415</span><span class="token punctuation">,</span>
<span class="token number">2.71</span><span class="token punctuation">:</span> <span class="token number">2.7131</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>m31<span class="token punctuation">)</span> <span class="token comment">// map[2.71:2.7131 3.14:3.1415]</span>
</code></pre>
<h4>其他操作</h4>
<pre><code class="lang-go hljs"><span class="token comment">// 遍历 // map range 遍历为无序输出,内部做了随机</span>
<span class="token keyword">for</span> k<span class="token punctuation">,</span> v <span class="token operator">:=</span> <span class="token keyword">range</span> m31 <span class="token punctuation">{</span>
fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span>k<span class="token punctuation">,</span> v<span class="token punctuation">)</span>
<span class="token punctuation">}</span>
<span class="token comment">// 查找键值是否存在</span>
<span class="token keyword">if</span> v<span class="token punctuation">,</span> ok <span class="token operator">:=</span> m31<span class="token punctuation">[</span><span class="token number">111</span><span class="token punctuation">]</span><span class="token punctuation">;</span> ok <span class="token punctuation">{</span>
fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span>v<span class="token punctuation">)</span>
<span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span><span class="token string">"Key Not Found"</span><span class="token punctuation">)</span>
<span class="token punctuation">}</span>
<span class="token comment">// 删除单个 key (不会回收内存)</span>
<span class="token function">delete</span><span class="token punctuation">(</span>m31<span class="token punctuation">,</span> <span class="token number">3.14</span><span class="token punctuation">)</span>
<span class="token comment">// 清空</span>
m31 <span class="token operator">=</span> <span class="token boolean">nil</span>
fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span>m31<span class="token punctuation">)</span>
</code></pre>
您可能感兴趣的文章:
Golang从入门到放弃200618--Map(1)Map的初始化和基本操作
golang中map声明及初始化
golang map中结构体元素是无法取地址的
golang 初始化并赋值_golang语言中map的初始化及使用示范
golang map
golang 并发访问map遇到的问题
golang map key 正则表达_Golang中的Map
golang:map
Golang的map并发安全
golang map笔记
上一篇:go语言学习-接口赋值的两种类型
下一篇:golang之抽象类实现
[关闭]