在 go 语言中值类型改变变量副本时不会改变变量本身的值 ( 数组 基本数据类型,结构体 属于值类型 );
在 go 语言中引用类型改变变量副本时会改变变量本身的值 ( 切片 map 属于引用类型 );
package main
import "fmt"
type Person struct {
Name string
Age int
}
func main() {
var p1 = Person{
"John",
30,
}
var p2 = p1
p2.Name = "test.."
fmt.Printf("%#v 类型 %T", p1, p1)
}
func main() {
var arr = []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
arr2 := arr
arr2[0] = 99
fmt.Println(arr)
}