- 指针
特点:Go语言不存在指针操作,涉及两个符号:& 与 *,即"取地址"与"根据地址取值" - 分配内存的函数:new 与 make
make: 只作用于slice、map、chan三种引用类型的内存创建,所以返回的值并不是指针,而是这三个类型本身。
new: 一般是给基本数据类型申请内存的,如int,string,返回的是对应类型的指针,如int,string。
package main
import "fmt"
func main() {
//*与&的使用
var a = 100
p := &a
fmt.Println(p)
b := *p
fmt.Println(b)
//make 与 new
var a1 = new(int)
fmt.Println(a1)
fmt.Printf("%T", a1) //返回值类型是*int
fmt.Println()
var a2 = make([]int, 3, 3)
fmt.Printf("%T", a2) //返回值类型是int,是基础数据类型本身
}
运行结果:
0xc00001a080
100
0xc00001a088
*int
[]int
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。