package main

import "fmt"

/*
1.值类型:存储的是数值本身,数据传递给其他变量时传递的是数据的副本。
int,float,string,bool,array,struct
2.引用类型:存储的是数据的内存地址,数据传递时传递的地址。默认零值是nil
slice,map,channel,function,pointer
*/
func main() {
s1 := []int{1, 2, 3, 4}
s2 := make([]int, 0)
s2 = append(s2, s1...) //数值传输
s3 := s1 //地址传输
fmt.Println(s1, s2, s3) s1[0] = 100
fmt.Println(s1, s2, s3) //copy()
s4 := []int{1, 2, 3, 4}
s5 := []int{7, 8, 9}
//copy(s4, s5) //将s5中的元素复制到s4中,覆盖对应位置
copy(s4[1:], s5[1:])
fmt.Println(s4, s5) }

执行结果

[1 2 3 4] [1 2 3 4] [1 2 3 4]
[100 2 3 4] [1 2 3 4] [100 2 3 4]
[1 8 9 4] [7 8 9]

go基础——数值传递与值传递的更多相关文章

  1. 理解Java中的引用传递和值传递

    关于Java传参时是引用传递还是值传递,一直是一个讨论比较多的话题,有论坛说Java中只有值传递,也有些地方说引用传递和值传递都存在,比较容易让人迷惑.关于值传递和引用传递其实需要分情况看待,今天学习 ...

  2. (转载)理解Java中的引用传递和值传递

      关于Java传参时是引用传递还是值传递,一直是一个讨论比较多的话题,有论坛说Java中只有值传递,也有些地方说引用传递和值传递都存在,比较容易让人迷惑.关于值传递和引用传递其实需要分情况看待,今天 ...

  3. Java千百问_05面向对象(011)_引用传递和值传递有什么差别

    点击进入_很多其它_Java千百问 1.什么是值传递 值传递,是将内存空间中某个存储单元中存放的值,传送给还有一个存储单元.(java中的存储单元并不是物理内存的地址,但具有相关性) 比如: //定义 ...

  4. java引用传递和值传递

    关于Java传参时是引用传递还是值传递,一直是一个讨论比较多的话题,有论坛说Java中只有值传递,也有些地方说引用传递和值传递都存在,比较容易让人迷惑.关于值传递和引用传递其实需要分情况看待,今天学习 ...

  5. effective c++:引用传递与值传递,成员函数与非成员函数

    以pass-by-reference-to-const 替换pass-by-value 考虑以下class继承体系 class Person { public: Person(); // parame ...

  6. (转载)PHP数组传递是值传递而非引用传递

    (转载)http://www.fengfly.com/plus/view-212127-1.html 在调用函数时通过将PHP数组作为实参赋给形参,在函数中修改,并不会影响到数组本身. 说明此过程中的 ...

  7. Java Object 引用传递和值传递

    Java Object 引用传递和值传递 @author ixenos Java没有引用传递: 除了在将参数传递给方法(或函数)的时候是"值传递",传递对象引用的副本,在任何用&q ...

  8. java到底是引用传递还是值传递?

    今天我们来讲讲一个在学习中容易误解的问题,面试中也偶尔问到,java方法调用时到底是值传递还是引用传递? 首先,请大家来做一个判断题,下面的3个问题是否描述正确 1. java基本数据类型传递是值传递 ...

  9. Java中的引用传递和值传递

    Java中的引用传递和值传递 关于Java的引用传递和值传递,在听了老师讲解后,还是没有弄清楚是怎么一回事,于是查了资料,所以在这里与大家分享,有不对的地方,欢迎大家留言. java中是没有指针的,j ...

  10. Java中没有引用传递只有值传递(在函数中)

    ◆传参的问题 引用类型(在函数调用中)的传参问题,是一个相当扯的问题.有些书上说是传值,有些书上说是传引用.搞得Java程序员都快成神经分裂了.所以,我们最后来谈一下“引用类型参数传递”的问题. 如下 ...

随机推荐

  1. python 用字典进行计数的三种常用方法

    1.常规方法 初始化一个字典,遍历列表或字符串,如果遍历的值已经存在于字典中,则字典值直接加1,否则,令字典键为当前遍历的值,字典值为1, 代码如下: >>> dic = {} &g ...

  2. Pytest_fixture(9)

    什么是fixture fixture是pytest特有的功能,使用装饰器 @pytest.fixture 标记的函数在其他函数中能被当作参数传入并被调用. fixture有明确的名字,在其他函数,模块 ...

  3. Jenkins_创建任务以及定时启动(2)

    一.创建任务 1.点击New Item 2.输入用户,单击Freestyle project,点击OK 3.填写构建步骤,因为是安装在linux上的,所以我们选择Execute shell,随意输入一 ...

  4. 可观察对象(Observable)

    最简示例: export class AppComponent { title = 'angular-tour-of-heroes'; // Create an Observable that wil ...

  5. debian8.4系统安装后的一些设置

    1.添加软件源  su到root用户vi  /etc/apt/sources.list      也可用gedit  /etc/apt/sources.list   (gnome下用,如果kde下则用 ...

  6. 浅解XXE与Portswigger Web Sec

    XXE与Portswigger Web Sec ​ 相关链接: ​ 博客园 ​ 安全脉搏 ​ FreeBuf 简介XML XML,可扩展标记语言,标准通用标记语言的子集.XML的简单易于在任何应用程序 ...

  7. 从头造轮子:python3 asyncio之 gather (3)

    前言 书接上文:,本文造第三个轮子,也是asyncio包里面非常常用的一个函数gather 一.知识准备 ● 相对于前两个函数,gather的使用频率更高,因为它支持多个协程任务"同时&qu ...

  8. 《剑指offer》面试题61. 扑克牌中的顺子

    问题描述 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的.2-10为数字本身,A为1,J为11,Q为12,K为13,而大.小王为 0 ,可以看成任意数字.A 不能视为 14. 示例 ...

  9. 【Java】多线程入门

    Java多线程学习(入门) 前言 目前对于线程的了解仅仅停留在学习python的threading库,很多线程的概念没有真正弄清楚,所以选择来系统性的学习多线程.那么这次选择的是Java的多线程学习, ...

  10. 【刷题-PAT】A1119 Pre- and Post-order Traversals (30 分)

    1119 Pre- and Post-order Traversals (30 分) Suppose that all the keys in a binary tree are distinct p ...