面试--Go函数返回局部变量的指针是否安全
点击查看代码
package main
func add(x,y int) *int{
res := 0
res = x + y
return &res
}
func main() {
add(1,2)
}
总结:安全,因为go编译器支持动态内存逃逸,如果在局部变量外引用其指针会自动将指针对象分配在堆空间上
package main
func add(x,y int) *int{
res := 0
res = x + y
return &res
}
func main() {
add(1,2)
}
总结:安全,因为go编译器支持动态内存逃逸,如果在局部变量外引用其指针会自动将指针对象分配在堆空间上