深入理解 Golang 中的值类型和引用类型
package main
import "fmt"
func main() {
// 值类型示例
var a int = 10
var b = a // 值类型,b是a的副本
b = 20
fmt.Println("a的值为:", a) // 输出:a的值为: 10
// 引用类型示例
type person struct {
name string
age int
}
var p1 = person{"Alice", 30}
var p2 = p1 // 引用类型,p2指向p1的地址
p2.age = 35
fmt.Println("p1的年龄为:", p1.age) // 输出:p1的年龄为: 35
}
这段代码首先定义了一个整型变量a并赋值为10,然后通过赋值操作将a的值复制给了变量b。接下来修改了b的值为20,并打印出a的值,演示了值类型的特点。然后定义了一个person结构体类型,创建了变量p1,并通过赋值操作复制给了p2,随后修改p2的age字段,并打印出p1的age值,演示了引用类型的特点。
评论已关闭