我是 Go 语言的新手,并且只有很少的 C/C++ 背景,所以我很自然地在思考何时使用指针和何时不使用指针的想法。尽管这个问题可能被认为是开放式的,但我想知道关于何时返回结构和何时返回指针的一些指导原则(以及何时接受结构/指针作为参数)。
据我所知,以下陈述是正确的:
结构按值传递给函数。也就是说,在将结构传递给函数时,会对其进行复制。
如果我想通过引用传递结构,那么我会在函数定义中使用指针参数,并在调用函数时使用 addressof 运算符。
我想通过引用传递结构的原因是因为我传递的结构很大,并且按值传递它会占用内存(不太可能)或者如果我想对复制我传入的(更有可能)。
作为 3.) 的推论,我应该通过值传递,除非我有上述原因之一通过引用传递。
我的假设正确吗?还是我错过了指针上的标记?
拉风的咖菲猫
相关分类