zoukankan      html  css  js  c++  java
  • Go数组和切片定义和初始化

    1 前言

    切片是动态数组,数组数组是按值赋值,切片是按地址赋值(引用)

    2 代码

    2.1 数组初始化

    func basic_array(){
    	//var arr2 = [3]int{2,4,6} // 1
    
    	//arr2 := [3]int{2,4,6} //2
    		
    	//var arr2[3]int = [3]int{2,4,6} //3
    
    	//var arr2 [3]int  //4
    	//arr2=[3]int{1,3,5}
    
    	// var arr2 [3]int //5
    	// var i int
    	// for i=0;i<len(arr2);i++{
    	// 	arr2[i] = 10+i;
    	// }
    
            // var arr2 [3]int //6
            // var arr2 [...]int{1,3,7} //7[...]表示根据元素自适应大小
    
    
    
        for i,e := range arr2{
    		fmt.Println("arr2[",i,"]->",e);
    	}
    }
    

    2.2 切片初始化

    func basic_slice(){
    
    	//var arr2 = []int{2,4,6} // 1
    
    	//arr2 := []int{2,4,6} //2
    		
    	//var arr2[]int = [3]int{2,4,6} //3
    
    	//var arr2 []int  //4
    	//arr2=[]int{1,3,5}
    
           //var slice1 []type = make([]type, len) //5
        //slice1 := make([]type, len) //6
        //also add parameter capacity
        //make([]T, length, capacity) //7,8
    
    	for i,e := range arr2{
    		fmt.Println("arr2[",i,"]->",e);
    	}
    
    }
    

    3 数组与切片区别

    var arr2[3]int = [3]int{2,4,6}
    	var arr1 = arr2
    	arr1[1]=11
    
    	for i,e := range arr1{
    		fmt.Println("arr1[",i,"]->",e);
    	}
    
    	for i,e := range arr2{
    		fmt.Println("arr2[",i,"]->",e);
    	}
    
    //result
    // arr1[ 0 ]-> 2
    // arr1[ 1 ]-> 11
    // arr1[ 2 ]-> 6
    // arr2[ 0 ]-> 2
    // arr2[ 1 ]-> 4
    // arr2[ 2 ]-> 6
    
    
    
    //slice
    var arr2[]int = []int{2,4,6}
    	var arr1 = arr2
    	arr1[1]=11
    
    	for i,e := range arr1{
    		fmt.Println("arr1[",i,"]->",e);
    	}
    
    	for i,e := range arr2{
    		fmt.Println("arr2[",i,"]->",e);
    	}
    
    //result
    // arr1[ 0 ]-> 2
    // arr1[ 1 ]-> 11
    // arr1[ 2 ]-> 6
    // arr2[ 0 ]-> 2
    // arr2[ 1 ]-> 11
    // arr2[ 2 ]-> 6
    

      

      

      

  • 相关阅读:
    svn版本更新
    前端复选框的全选与获取数据
    关于博主的职业生涯历程
    Presto部署指南
    linux下简单好用的端口映射转发工具rinetd
    阿里云时间服务器
    mongodb常用操作
    mysql常用操作
    mysql内存分配问题
    zabbix微信发送消息脚本
  • 原文地址:https://www.cnblogs.com/fanbi/p/10021586.html
Copyright © 2011-2022 走看看