我是Golang的新手
我应该总是避免append
切片吗?
我需要在内存中加载一个以换行符分隔的数据文件。 考虑到性能,我应该计算行数,然后将所有数据加载到预定义的长度数组中,还是只需将行附加到切片上?
答案 0 :(得分:10)
您应该停止考虑性能并开始衡量应用程序的实际瓶颈。
对问题的任何建议,例如"由于性能,应该做/避免X?"在50%的案件中没用,而在25%的案件中适得其反。
有一些非常普遍的建议,比如"不要不必要地生成垃圾"但是你的问题无法回答,因为这很大程度上取决于文件的大小:
[]string
切片4次(或最初为make([]string,0,100)
的0倍)更多的工作。 string
只有2个字。你看:对性能的一般建议是一个糟糕的建议,所以我不会给你一个。