登录
首页 >  Golang >  Go问答

什么时候应该在 Go 中使用 new?

来源:Golang技术栈

时间:2023-03-04 20:15:21 472浏览 收藏

最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《什么时候应该在 Go 中使用 new?》主要内容涉及到new、golang等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~

问题内容

什么时候应该在 Go 中使用 new

正确答案

在Go中,new是用于动态分配内存的内置函数。它返回一个指向新分配的零值对象的指针。

在大多数情况下,使用字面量或结构体初始化来分配变量或对象更加常见。但是,下面是一些情况下使用new可能更有用:

  1. 当需要分配一个指向基本类型的指针时,例如int、float64、bool等。这通常是因为需要在函数之间传递指针,而不是复制值。例如:

    // 分配一个新的整数指针
    var ptr *int
    ptr = new(int)
    
  2. 当需要分配一个指向结构体的指针,但不需要在分配时初始化结构体字段时。例如:

    type Person struct {
        Name string
        Age  int
    }
    
    // 分配一个新的 Person 指针,但不初始化任何字段
    var p *Person
    p = new(Person)
    

在以上两种情况下,使用new分配指针变量可以更清晰地表达意图,并避免在使用指针时发生未初始化的错误。但是,使用字面量或结构体初始化来分配变量或对象仍然是更常见的做法。

到这里,我们也就讲完了《什么时候应该在 Go 中使用 new?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于golang的知识点!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>