package main

import (
    "fmt"
)

func main() {
    var p *int
    p = new(int)
    fmt.Println(*p) //0
}

表达式new(T)将创建一个T类型的匿名变量,所做的是为T类型的新值分配并清零一块内存空间,然后将这块内存空间的地址作为结果返回,而这个结果就是指向这个新的T类型值的指针值,返回的指针类型为*T。

new创建的内存空间位于heap上,空间的默认值为数据类型默认值。如:new(int) 则 *p为0,new(bool) 则 *p为false。

我们只需使用new()函数,无需担心其内存的生命周期或怎样将其删除,因为Go语言的内存管理系统会帮我们打理一切。

参考:https://www.cnblogs.com/yang-2018/p/11119275.html

相关文章:

  • 2021-12-28
  • 2022-01-31
  • 2021-09-16
  • 2021-12-28
  • 2021-06-23
  • 2022-03-04
  • 2021-06-12
猜你喜欢
  • 2021-09-23
  • 2021-05-12
  • 2021-11-26
  • 2021-05-01
  • 2022-12-23
相关资源
相似解决方案