zoukankan      html  css  js  c++  java
  • Go语言中数组

    数组是一个值类型

    func ArrayTest1(){
    	var arryA [3]int = [3]int{1,2,3}
    	//创建一个数组B,将B中第二个元素设置为200
    	arryB := arryA
    	arryB[1] = 200
    	//打印A、B数组的值
    	fmt.Printf("arryA[0] = %d	", arryA[0])
    	fmt.Printf("arryB[0] = %d
    ", arryB[0])
    	fmt.Printf("arryA[1] = %d	", arryA[1])
    	fmt.Printf("arryB[1] = %d
    ", arryB[1])
    	fmt.Printf("arryA[2] = %d	", arryA[2])
    	fmt.Printf("arryB[2] = %d
    ", arryB[2])
    }
    

    结果:

    arryA[0] = 1	arryB[0] = 1
    arryA[1] = 2	arryB[1] = 200
    arryA[2] = 3	arryB[2] = 3 

    从上面结果可以看到,只用B的第二元素被修正了,这里说明A和B直接的拷贝是值拷贝,如果想要都修正,需要传地址,修改上面的赋值语句,为如下

    arryB := &arryA

    所以在利用数组进行传参的时候,要注意一点传递的是数组的副本,并非本身,如果有需要修正数组内的值并影响原来的数组,就必须要传地址。

      

  • 相关阅读:
    redhat安装opencv
    vsftpd的配置与使用
    Redhat 安装编译 Python-2.7.12
    YUM 安装与配置
    docker安装mysql
    高频问题 java8新特性(转载)
    quartz简单实例实现
    java8线程池
    java8多线程不带返回值
    java8多线程带返回值的
  • 原文地址:https://www.cnblogs.com/dcz2015/p/10510136.html
Copyright © 2011-2022 走看看