• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

go语言学习笔记5

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

go语言的数组定义:

这是定义的一个一维数组,但是没有赋值给数组。

这也是定义的一个一维数组但是在定义的时候就依次赋值给数组了


这是go的计算数组的长度。

go中数组需要注意的是:

两个数组如果类型和元素个数相同可以赋值
数组名表示整个数组 数组名对应的地址就是数组第一个元素的地址
如果定义时用var arr [i]int 其中的i必须是一个常量,不能是一个变量

然后比较了一下Java中数组的定义和使用:

上面图中我直接用的是二维数据,采用了直接new和赋值的方法,还有数组长度计算的方法。

go中随机数的产生:

go中产生随机数首先要创建随机数种子,然后用Intn方法对10取模,这样你就可以得到0-9之间的数了。

Java中的随机数生成:

这是产生1-10之间的随机数。

二维数组的定义和使用,基本和一维数组一样,如下图:

切片
切片的数组很相似,切片可以自己扩充,但是数组不能自己扩充,数组和切片的定义比较,如下图:

他们的区别就在于数组有没有元素个数,数组定义的时候有元素个数,但是切片定义的时候却没有元素个数。这可能就是切片可以扩充的原因吧。

数组中不能越界,切片中同样不能越界:

图中的slice切片就越界了,这是一个需要注意的地方。
向切片中添加数据:

创建切片同样还有其他的两种方式创建:
1、

定义切片时可以指定长度。
2、

通过自动类型推导创建切片。

切片的地址和扩容





图片中的内容都是切片地址和扩容相关的。
注意:使用len(slice)来打印数据 不能使用cap(slice),因为len是切片的长度,而cap是切片的容量。

切片的截取


图中程序输出的结果为3,4,5,6,7,3就是起始的位置,而7就是切片中结束位置6然后+1

需要注意的是:
截取后的切片还是原始切片中的一块内容 如果修改截取后的切片 影响原始切片的值
所以如果我们截取切片过后然后修改值,原来切片的值也会发生改变。

如果想要切片的值不发生改变,就使用切片的拷贝。

我们先定义了一个slice的切片,然后使用make定义了一个容量为5的切片。然后使用cope将slice拷贝给s。
这样过后,如果你想要改变任何一个切片的值都不会对对方产生任何影响。

结论:如果想要定义的数很多并且固定了一个范围那么就用数组,如果没有定义一个固定的范围那么就用切片。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap