我有一个关于 golang 中“append”函数的小问题:
我有一个 slice1 和一个调用 for 循环并返回一些 slice2 的函数,它也可以为空。那么问题是,如果这个函数频繁返回空切片,golang会如何处理这种情况:什么类型的代码会更优化:
这两种情况实际上决定使用哪一种吗?
我已经尝试了两种带有空切片的情况,但我没有看到区别,也许我错过了一些东西?
当您使用append时,会在内存中创建一个新切片来存储结果。如果您附加一个空切片,则两种情况下的输出都保持相同。因此,在操作之前添加简单的检查应该比生成原始切片的副本更快。在追加之前检查切片是否为空可以节省一些不必要的操作。