摘要:
方式一: package main import( "fmt" ) func swap(a *int, b *int) { tmp := *a *a = *b *b = tmp } func main() { a := 3 b := 4 fmt.Println(a, b) // 3, 4 swap( 阅读全文
摘要:
方式一: package main import( "fmt" ) func swap(a *int, b *int) { tmp := *a *a = *b *b = tmp } func main() { a := 3 b := 4 fmt.Println(a, b) // 3, 4 swap( 阅读全文
摘要:
*和&的区别 : & 是取地址符号 , 即取得某个变量的地址 , 如 ; &a *是指针运算符 , 可以表示一个变量是指针类型 , 也可以表示一个指针变量所指向的存储单元 , 也就是这个地址所存储的值 . package main import( "fmt" ) func modify(a *int 阅读全文
摘要:
值类型: 变量直接存储值,内存通常在栈中分配。例如int、float、bool、string、数组、struct是值类型 引用类型: 变量存储的是一个地址,这个地址存储最终的值。内存通常在堆上分配。通过GC回收。例如指针、slice、map、chan等是引用类型 堆和栈的区别(现在先记住这个)1.函 阅读全文
|