Pointers 定义结构时何时使用指针
我注意到在一些库中,当它们定义结构时,一些值有指针,而另一些没有指针。我似乎找不到任何地方解释什么时候使用指针,什么时候不使用指针 范例Pointers 定义结构时何时使用指针,pointers,go,Pointers,Go,我注意到在一些库中,当它们定义结构时,一些值有指针,而另一些没有指针。我似乎找不到任何地方解释什么时候使用指针,什么时候不使用指针 范例 type MyStruct struct { FieldOne *int64 FieldTwo int64 FieldFour *AnotherStruct FieldFive AnotherStruct } 使用指针的好处是什么?根据我的经验,我会尽量不在结构中使用指针值,因为如果在使用
type MyStruct struct {
FieldOne *int64
FieldTwo int64
FieldFour *AnotherStruct
FieldFive AnotherStruct
}
使用指针的好处是什么?根据我的经验,我会尽量不在结构中使用指针值,因为如果在使用指针之前忘记检查nil,它可能是导致恐慌的根本原因。在结构中使用指针值有三个原因:
当您想要区分“零”值和非值(即
nil
)时,指针非常有用。让我来分享这篇文章。我认为它提供了一些很好的信息,告诉你什么时候可以使用指针。如果您想听到更多的意见,那么关于这个主题的文章还有很多,但我认为这篇文章涵盖了最常见的要点。为了防止在执行共享状态更改时出现内存重复。@mh bon这就是使用指向外部结构的指针的原因,不是使用指针字段的理由。#1仅在字段是大型结构或数组类型时才有意义。否则,指针可能已经是8个字节,并且不会比复制值快多少。