教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 GO语言数组的内存

GO语言数组的内存

发布时间:2022-01-06   编辑:jiaochengji.com
教程集为您提供GO语言数组的内存等资源,欢迎您收藏本站,我们将为您提供最新的GO语言数组的内存资源
<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>

GO语言数组有一个16进制的首地址(内存地址)使用%p可以查看!
%p(以十六进制(基数为16)表示的一个值的地址,前缀为0x,字母使用小写的a-f表示)

<pre><code class="lang-go hljs"><span class="token keyword">package</span> main <span class="token keyword">import</span> <span class="token string">"fmt"</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 function">arr</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">}</span> <span class="token keyword">func</span> <span class="token function">arr</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token comment">//创建数组 ---数组名 长度 类型</span> <span class="token keyword">var</span> arr1 <span class="token punctuation">[</span><span class="token number">4</span><span class="token punctuation">]</span><span class="token builtin">int</span> <span class="token comment">//数组的访问,下标设置</span> arr1<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">1</span> arr1<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">2</span> arr1<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token number">3</span> fmt<span class="token punctuation">.</span><span class="token function">Printf</span><span class="token punctuation">(</span><span class="token string">"%p\n"</span><span class="token punctuation">,</span> <span class="token operator">&</span>arr1<span class="token punctuation">)</span> <span class="token comment">//0xc000018400</span> fmt<span class="token punctuation">.</span><span class="token function">Printf</span><span class="token punctuation">(</span><span class="token string">"数组第一个元素地址:%p\n"</span><span class="token punctuation">,</span> <span class="token operator">&</span>arr1<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment">//数组第一个元素地址:0xc000018400</span> fmt<span class="token punctuation">.</span><span class="token function">Printf</span><span class="token punctuation">(</span><span class="token string">"数组第二个元素地址:%p\n"</span><span class="token punctuation">,</span> <span class="token operator">&</span>arr1<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment">//数组第二个元素地址:0xc000018408</span> fmt<span class="token punctuation">.</span><span class="token function">Printf</span><span class="token punctuation">(</span><span class="token string">"数组第三个元素地址:%p\n"</span><span class="token punctuation">,</span> <span class="token operator">&</span>arr1<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment">//数组第三个元素地址:0xc000018410</span> fmt<span class="token punctuation">.</span><span class="token function">Printf</span><span class="token punctuation">(</span><span class="token string">"数组第四个元素地址:%p\n"</span><span class="token punctuation">,</span> <span class="token operator">&</span>arr1<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment">//数组第四个元素地址:0xc000018418</span> arr1<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">=</span> arr1<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token comment">//赋值</span> fmt<span class="token punctuation">.</span><span class="token function">Printf</span><span class="token punctuation">(</span><span class="token string">"查看数组第一个元素被复制后数组的地址%p\n"</span><span class="token punctuation">,</span> <span class="token operator">&</span>arr1<span class="token punctuation">)</span> <span class="token comment">//查看数组第一个元素被复制后数组的地址0xc000018400</span> fmt<span class="token punctuation">.</span><span class="token function">Printf</span><span class="token punctuation">(</span><span class="token string">"查看数组首个元素被复制后的地址第一个元素的地址%p\n"</span><span class="token punctuation">,</span> <span class="token operator">&</span>arr1<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment">//查看数组首个元素被复制后的地址第一个元素的地址0xc000018400</span> <span class="token comment">//var arr7 = [...]int{1, 2, 3, 4, 5, 6}</span> <span class="token comment">//fmt.Println(arr7)</span> <span class="token punctuation">}</span> <span class="token comment">//数字在内存中开辟的是连续的内存,数字的地址是数组的首地址也是第一个元素的地址!</span> </code></pre> 到此这篇关于“GO语言数组的内存”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
想系统学习GO语言(Golang
Go 语言一本通
Go语言学习3----Go语言特色
Go语言发展历史、核心、特性及学习路线
Go 语言到底适合干什么?
从零开始学习GO语言-搭建Go语言开发环境-快速开发入门第一个小程序
2018年最全Go语言教程零基础入门到进阶实战视频
Go语言的主要特性和发展影响
兄弟连golang神技(1)-关于 Go 语言的介绍
查看go 安装了哪些包_go语言基础入门(一)

[关闭]
~ ~