GO语言入门

数组定义

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	", 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	",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)
			}
		}
	}
}

原文地址:https://www.cnblogs.com/ipyanthony/p/12468974.html