【发布时间】:2016-05-08 01:20:10
【问题描述】:
我来自 C++ 世界和 C++,通常当您关心性能并且不需要更改对象时,您使用常量引用传递它
void func(const std::string& str)
在这种情况下,字符串没有被复制,不能在函数中修改。
我知道,在 Go 中有两种传递对象的方法:
- 按值,然后你不能修改(或者实际上你可以但没有意义)它,但它非常消耗内存
- 通过指针,这从内存的角度来说是好的,但是你可以修改对象。
那么,最好的方法是什么?即使您不想修改它,也总是通过指针传递对象,因为它更快?或者有一些编译器优化,即使你按值发送它有时也会作为参考发送?
【问题讨论】:
标签: go