package main
import "fmt"
func main() {
//声明和使用数组
var arr1 [5]string//声明包含5个元素的字符串数组
arr2:= [5]string{"a","b","c","d","e"}//初始化包含5个元素的字符串数组
arr1=arr2//数组2复制给数组1
fmt.Println(arr1)
fmt.Println(arr2)
//以上打印结果
//[a b c d e]
//[a b c d e]
var arr3 [3]*string//声明字符串类型的数组指针变量
arr4:=[3]*string{new(string),new(string),new(string)}//声明数组指针变量
*arr4[0]="red"
*arr4[1]="blue"
*arr4[2]="black"
arr3=arr4
for _,addr:=range arr3{
fmt.Println(*addr)
}
fmt.Println(*arr4[0],*arr4[1],*arr4[2])
/*上述打印结果
red
blue
black
red blue black*/
//多维数组
var arr5 [3][2]int
arr6:=[3][2]int{{1,2},{4,3},{5,6}}//初始化二维数组
arr5=arr6//维数相同两个数组才能赋值
fmt.Println(arr5)
fmt.Println(arr6)
/*打印结果
[[1 2] [4 3] [5 6]]
[[1 2] [4 3] [5 6]]
*/
arr6[0][1]=20
arr6[1][0]=30
fmt.Println(arr6)
var arr7 [2]int = arr6[0]
fmt.Print(arr7)
/*打印结果
[[1 20] [30 3] [5 6]]
[1 20]
*/
//使用值传递,在函数间传递大数组,如1e6,这里只设置10个整型值示意
// 声明一个数组
var array [10]int
// 将数组传递给函数 foo
foo(array)// 函数 foo 接受一个 10个整型值的数组,此处输出结果
/*
输出结果
[0 0 0 0 0 0 0 0 0 0]
pass
*/
}
//main函数外foo函数用于传递数组
func foo(array [10]int) {
fmt.Println(array)
fmt.Println("pass")
}```**
go语言数组操作
最新推荐文章于 2023-11-03 14:53:56 发布