Go语言基础之6--值类型和引用类型
2024-08-29 08:21:21
一、 引用类型
引用类型理解为(C语言):指针
Golang中只有三种引用类型:slice(切片)、map(字典)、channel(管道);
实例1-1
package main import "fmt" func main(){
a := []int{, , , , }
b := a
fmt.Println(a,b)
b[] =
fmt.Println(a,b)
}
执行结果:
解释:
上面定义了一个数组a,它是引用类型(slice切片),被b引用(指针)后,当b发生变化后a也发生变化。
二、 值类型
Go语言中除slice(切片)、map(字典)、channel(管道)外,都是值类型;
值类型可以理解为值的拷贝,相当于完全拷贝一份(有副本存在)。
实例2-1
package main import "fmt" func main(){
a := []int{, , , , }
b := a
fmt.Println(a,b)
b[] =
fmt.Println(a,b)
}
执行结果:
解释:
上面定义了一个数组a,它是值类型,复制给b是copy,当b发生变化后a并不会发生任何变化。
最新文章
- Android深度探索--HAL与驱动开发----第九章读书笔记
- 抓包利器Fiddler
- XX管理系统案例
- 用php 查询显示新闻消息
- 将多维数组转换为支持curl提交的一维数组格式
- Graphviz使用简介(中文乱码的问题)
- Qt 读写XML文件
- pyqt MainWindow记录内容
- 双链表---LinkedList的重写
- 清除css、javascript及背景图在浏览器中的缓存
- WARN Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)
- [wiki]CDN
- SpringCloud @FeignClient的类注解@ReqestMapping无效报错:No message available";,";path";:";/xxxx
- cucumber学习笔记
- C++多态、虚函数、纯虚函数、抽象类、虚基类
- centos 7 Chrony 集群同步时间
- [Leetcode 217&;219]寻找数组中的重复值Contains Duplicate I &; II
- UVA 11645 - Bits(数论+计数问题)
- 关于PHP面向对象中—类的定义与对象的实例化操作以及构造、析构函数的特殊用法
- FileZilla FTP Client