Array(数组)的介绍
                                数组是同一种数据类型元素的集合。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 基本语法:
                                
                                
                                    
                                        
                                    
                                    //数组的长度必须是常量,并且长度是数组类型的一部分。
// 一旦定义,长度不能变。 [1]int和[2]int是不同的两种类型。
数组可以通过下标进行访问,下标是从0开始,最后一个元素下标是:len-1,访问越界(下标在合法范围之外),则触发访问越界,会panic。
                                    例如:
                                    
                                        
                                            
                                                
                                                    1 2 3 4 5
  
                                                 | 
                                                
                                                    	var a [1]int 	var b [2]int 	a = b 
 
 
  
                                                 | 
                                            
                                        
                                     
                                
                                Array(数组)的定义
                                
                                    
                                        
                                            
                                                1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
  
                                             | 
                                            
                                                package main
  import "fmt"
  func main() { 	definitionPart1() 	definitionPart2() 	definitionPart3() }
 
  func definitionPart1() { 	var testArray [3]int                         	var numArray = [3]int{1, 2, 3}               	var cityArray = [3]string{"北京", "上海", "深圳"}  	fmt.Println(testArray)                       	fmt.Println(numArray)                        	fmt.Println(cityArray)                       }
  func definitionPart2() { 	var testArray [3]int 	var numArray = [3]int{1, 2, 3} 	var cityArray = [...]string{"北京", "上海", "深圳"} 	fmt.Println(testArray)                           	fmt.Println(numArray)                            	fmt.Printf("type of numArray:%T\n", numArray)    	fmt.Println(cityArray)                           	fmt.Printf("type of cityArray:%T\n", cityArray)  }
 
  func definitionPart3() () { 	a := [...]int{1: 1, 3: 5} 	fmt.Println(a)                   	fmt.Printf("type of a:%T\n", a)  }
  
                                             | 
                                        
                                    
                                 
                                Array(数组)的定义遍历
                                
                                    
                                        
                                            
                                                1 2 3 4 5 6 7 8 9 10 11 12
  
                                             | 
                                            
                                                func main() { 	var a = [...]string{"北京", "上海", "广州", "深圳"} 	 	for i := 0; i < len(a); i++ { 		fmt.Println(a[i]) 	}
  	 	for index, value := range a { 		fmt.Println(index, value) 	} }
 
                                             | 
                                        
                                    
                                 
                                多维数组(嵌套数组)
                                
                                    
                                        
                                            
                                                1 2 3 4 5 6 7 8 9 10
  
                                             | 
                                            
                                                func main() { 	a := [4][2]string{     "长沙", 		{"北京", "上海"}, 		{"广州", "深圳"}, 		{"成都", "重庆"}, 	} 	fmt.Println(a)  	fmt.Println(a[2][1])  }
 
                                             | 
                                        
                                    
                                 
                                数组是值类型
                                数组是值类型,赋值和传参会复制整个数组。因此改变副本的值,不会改变本身的值。
                                
                                    
                                        
                                            
                                                1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
  
                                             | 
                                            
                                                func modifyArray(x [3]int) { 	x[0] = 100 }
  func modifyArray2(x [3][2]int) { 	x[2][0] = 100 } func main() { 	a := [3]int{10, 20, 30} 	modifyArray(a)  	fmt.Println(a)  	b := [3][2]int{ 		{1, 1}, 		{1, 1}, 		{1, 1}, 	} 	modifyArray2(b)  	fmt.Println(b)   }
 
                                             | 
                                        
                                    
                                 
                                注意:
                                
                                    - 数组支持 “==“、”!=” 操作符,因为内存总是被初始化过的。
 
                                    [n]*T表示指针数组,*[n]T表示数组指针