把一个大数组传递给函数会消耗很多内存。有两种方法可以避免这种现象:1.传递数组的指针。
package main import "fmt" func main() { var att = []int{1, 2, 3} //消耗更多的内存,问题 1:是因为拷贝了数组 att 吗?(att=att)?所以才消耗了更多的内存吗,那我原本的 att 数组怎么让他从内存中释放。 ftt(att) // 产生一次数组拷贝,ft 方法不会修改原始的数组 att。 var ar = []int{4, 5, 6} //传递了数组的指针,不会拷贝数组 fpp(&ar) // 指针,指向 ar 数组,fp 方法会修改原始数组 ar } func ftt(a []int) { a[0] = 111 fmt.Println(a) } func fpp(a *[]int) { //&a[0] = 444 //问题 2 二:那个这里怎么写呀?我想给 a[0]=444 fmt.Println(a) } 谢谢大锅们解惑。我实在不知道怎么百度。
我看的是这个链接
