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

GO语言入门-数组

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

数组定义

var 数组变量名 [元素数量]T

比如:var a [5]int, 数组的长度必须是常量,并且长度是数组类型的一部分。一旦定义,长度不能变。 [5]int[10]int是不同的类型。

数组可以通过下标进行访问,下标是从0开始,最后一个元素下标是:len-1,访问越界(下标在合法范围之外),则触发访问越界,会panic。

数组练习题

/*
@Time : 2020-03-12 11:53
@Author : ianthony
@File : main
@Software: GoLand
*/
package main

import "fmt"

func main() {
	// 初始化数组 方法一
	var a1 [5]int
	a1 = [5]int{1, 2, 3, 4, 5}
	fmt.Println(a1)
	
	// 初始化数组 方法二
	a2 := [...]int{1, 2, 3, 4, 5}
	fmt.Println(a2)
	
	a3 := [...]string{"1", "1", "1", "1", "1", "1", "1", "1", "1", "1",}
	fmt.Println(len(a3), a3)
	
	// 指定数组中索引的数值
	a4 := [20]int{0: 1, 19: 19}
	fmt.Println(a4)
	
	// 遍历数组 方法一
	var a5 = [...]string{"北京", "上海", "深圳"}
	for i := 0; i < len(a5); i++ {
		fmt.Println(a5[i])
	}
	
	// 遍历数组 方法二
	for k, v := range a5 {
		fmt.Println(k, v)
	}
	
	// 遍历多维数组
	a6 := [3][2]string{
		{"北京", "上海"},
		{"广州", "深圳"},
		{"成都", "重庆"},
	}
	
	for _, v1 := range a6 {
		for _, v2 := range v1 {
			fmt.Printf("%s\t", v2)
		}
		fmt.Println()
	}
	
	// 遍历多维数组
	a7 := [...]int{7, 8, 9}
	fmt.Println(a7)
	
	a8 := [3][2]int{
		{1, 2},
		{11, 22},
		{111, 222},
	}
	fmt.Println(a8)
	
	for _,V1 :=range a8{
		for _,V2 := range V1{
			fmt.Printf("%d\t",V2)
		}
		fmt.Println()
	}
	
	// 计算数组中所有元素的和
	num :=0
	a9 :=[...]int{1,3,5,7,8}
	for _,v3:=range a9{
		num +=v3
	}
	fmt.Println(num)

	
	// 求数组中和为8元素的索引是什么
	var a10 = [5]int{1, 3, 5, 7, 8}
	for i:=0;i<len(a10);i++{
		for j:=0;j<len(a10);j++{
			if a10[i] + a10[j] == 8{
				fmt.Println(i,j)
			}
		}
	}
}


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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