zoukankan      html  css  js  c++  java
  • go基础——数组array

    package main
    
    import "fmt"
    
    /*
    	数组:
    	array数组属于值类型,存储的是数值本身,数据传递给其他变量时传递的是数据的副本。
    	slice,map等属于引用类型,存储的是数据的内存地址。
    */
    func main() {
    	//数组创建和访问
    	var arr1 [4]int //创建数组,定长
    	arr1[0] = 1
    	arr1[1] = 2
    	arr1[2] = 3
    	arr1[3] = 4
    	fmt.Println(arr1[0], arr1[2])
    	//长度和容量,array/map/slice/string通用
    	fmt.Println(len(arr1)) //长度,容器中实际存储的数据量
    	fmt.Println(cap(arr1)) //容量,容器中能够存储的最大数据量
    	fmt.Println("==============")
    
    	//数组的其他创建方式
    	var arr2 = [5]int{1, 2, 3} //未定义的位置为0
    	fmt.Println(arr2)
    
    	var arr3 = [5]int{1: 1, 3: 2}
    	fmt.Println(arr3)
    
    	var arr4 = [5]string{"rose", "小王", "ruby"} //未定义的位置为空字符串
    	fmt.Println(arr4)
    
    	arr5 := [...]int{1, 2, 3}
    	arr6 := [...]int{1: 4, 5: 3}
    	fmt.Println(len(arr5), cap(arr5))
    	fmt.Println(len(arr6), cap(arr6))
    
    	fmt.Println("==============")
    
    	//数组的遍历
    	for i := 0; i < len(arr1); i++ {
    		arr1[i] = arr1[i]*2 + 1
    	}
    	fmt.Println(arr1)
    
    	for i, v := range arr1 {
    		fmt.Printf("下标%d,数值%d
    ", i, v)
    	}
    
    	fmt.Println("==============")
    
    	//数组的排序(冒泡)
    	arr := [5]int{15, 23, 8, 10, 7}
    	for i := 1; i < len(arr); i++ {
    		for j := 0; j < len(arr)-i; j++ {
    			if arr[j] > arr[j+1] {
    				arr[j], arr[j+1] = arr[j+1], arr[j]
    			}
    		}
    	}
    	fmt.Println(arr)
    	fmt.Println("==============")
    
    	//二维数组
    	a := [2][3]int{{1, 2, 3}, {4, 5, 6}}
    	fmt.Println(a[0][1]) //第一个一维数组中的第二个元素
    	//遍历
    	for i := 0; i < len(a); i++ {
    		for j := 0; j < len(a[i]); j++ {
    			fmt.Print(a[i][j], "	")
    		}
    		fmt.Println() //换行
    	}
    	//range遍历
    	for _, arr_v1 := range a {
    		for _, val := range arr_v1 {
    			fmt.Print(val, "	")
    		}
    		fmt.Println()
    	}
    }
    

    执行结果

    1 3
    4
    4
    ==============
    [1 2 3 0 0]
    [0 1 0 2 0]
    [rose 小王 ruby  ]
    3 3
    6 6
    ==============
    [3 5 7 9]
    下标0,数值3
    下标1,数值5
    下标2,数值7
    下标3,数值9
    ==============
    [7 8 10 15 23]
    ==============
    2
    1       2       3
    4       5       6
    1       2       3
    4       5       6
    
  • 相关阅读:
    (转) qt: usb热插拔(linux);
    Qt: usb热插拔检测(windows);
    C++: 模板函数定义与声明分离;
    bootstrap: 内联表单;
    thinkphp5: 循环输出表格,并固定表格单元宽度(过长省略号)
    响应式菜单栏: bootstrap + jQuery
    Qt: 数据库操作;
    qt: 获取sql数据表的所有的字段;
    Qt: 非阻塞时间延迟;
    egg中使用jwt
  • 原文地址:https://www.cnblogs.com/maxgongzuo/p/15415185.html
Copyright © 2011-2022 走看看