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

Go语言学习笔记十一--Go语言数组的相关操作

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

一、数组的基本操作

 1 package main
 2 
 3 import "fmt"
 4 
 5 func main() {
 6     var arr[5] int
 7     //数组会自动将自己的元素初始化
 8     fmt.Println(arr)
 9     //给其中的一个元素赋值
10     arr[0] = 11
11     arr[2] = 33
12     fmt.Println("arr = ", arr)
13 
14     var arr1 [3]int = [3]int{11,22,33} // var arr1 = [3]int{11,22,33} 这两中写法都可以
15     fmt.Println("arr1 = ", arr1)
16 
17     arr2 := []int{44,55,66}
18     fmt.Println("arr2 = ", arr2)
19     //len用于求长度
20     fmt.Println("arr2 的长度为:",len(arr2))
21 
22     arr3 := [5]int{10}
23     fmt.Println("arr3 = ", arr3)
24 
25     //通过下标进行赋值
26     arr4 := [7]int{2:100,5:555}
27     fmt.Println("arr4 = ", arr4)
28 
29     //区别于C语言里面数组名就是一个指针 在go语言里面 数组的长度是数组元素的一部分,其长度不同的不能相互之间进行赋值
30     var arr5 [5]int
31     var arr6 [5]int
32     var arr7 [6]int
33     arr5 = arr6 //合法
34     //arr6 = arr7 //报错
35     fmt.Println(arr5)
36     fmt.Println(arr6)
37     fmt.Println(arr7)
38     //数组的遍历
39     for i:=0;i<len(arr1);i++ {
40         fmt.Printf("arr1[%d] = %d\n",i,arr1[i])
41     }
42 
43     println("下面我们使用for range的方式来遍历数组")
44     for index, value := range arr1{
45         fmt.Printf("arr1[%d] = %d\n",index, value)
46     }
47     println("下面我们使用for range的方式来遍历数组,并且只输出他的值")
48     //range有两个返回值 使用下划线_ 来忽略第一个返回值
49     for _, value := range arr1{
50         fmt.Printf(" %d\n", value)
51     }
52 }

二、数组的复制

 1 package main
 2 
 3 import "fmt"
 4 func arrayModify(c [5]int){
 5     c[0] = 1000
 6 }
 7 func main() {
 8 
 9     var a [5]int = [5]int{6,5,2,3,8}
10     b := a //这种方式是新开一个内存,将a里面的所有值都复制一份到数组b
11 
12     b[0] = 88
13     b[1] = 99
14     fmt.Printf("a[] = %v\n",a)
15     fmt.Printf("b[] = %v\n",b)
16     arrayModify(b) //你会发现执行这个函数 其实啥也没变
17     fmt.Printf("b[] = %v\n",b)
18 }

 


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
go 修改字符串发布时间:2022-07-10
下一篇:
Elixir - Hey, two great tastes that go great together!发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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