go基础——数值传递与值传递
2024-09-06 11:01:43
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]
最新文章
- SQL Server-聚焦计算列或计算列持久化查询性能(二十二)
- java.sql.SQLException: ORA-00001: 违反唯一约束条件 (SCOTT.SYS_C0011456)
- Maven-本地安装
- [转载]easyui datagrid 时间格化(JS 日期时间本地化显示)
- 各种开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT
- aliyun硬盘挂载
- 使用Android studio下载github上的工程及问题解决
- 程序猿的量化交易之路(29)--Cointrader之Tick实体(16)
- webview h5页面 关闭
- vs2015编译mysql c++ connector
- The Hungarian Abhorrence Principle
- Java开源生鲜电商平台-异常模块的设计与架构(源码可下载)
- 云计算概述和KVM虚拟化
- Codeforces 863 简要题解
- 我用MATLAB撸了一个2D LiDAR SLAM
- Scalable Object Detection using Deep Neural Networks译文
- python将控制台输出保存至文件
- VMware新建虚拟机
- JavaScript周报#183
- 在 kernel 下打出 有帶參數的log。 怪異現象與解決方式。