Go:值与指针
💡
原文中文,约6200字,阅读约需15分钟。
📝
内容提要
本文介绍了Go语言中值的概念、分类、可变性、传递方式和比较规则,以及零值、method receiver类型选择和使用unsafe.Pointer进行不同type guided的值decode。同时,还介绍了“Gopher部落”知识星球和DigitalOcean的主机计划。
🎯
关键要点
- 计算机中的值是对真实世界概念的抽象表示,称为值(value)。
- Go语言中所有数据都以值的形式存在,包括基本类型和复合类型。
- 值的分类包括基本类型值、复合类型值和指针类型值。
- 值的可变性受到操作系统和编程语言的限制,常量和字符串类型值是不可变的。
- Go语言中的值传递是值拷贝,分为传值、传指针和传“引用”。
- 零值是变量未初始化时的默认值,取决于变量类型。
- 值的比较通过比较二进制表示实现,基本类型和复合类型的比较规则不同。
- method receiver可以是值类型或指针类型,选择时需考虑对象大小和可变性。
- 使用unsafe.Pointer可以进行不同类型的值decode。
- Gopher部落是一个Go语言学习社群,提供高品质的Go技术文章和资源。
- DigitalOcean发布了新的主机计划,入门级Droplet配置升级。
➡️