PHP 中的数组可以使用数字键和字符串键。这太棒了。前任:$array[0] = "My value.";要么$array['key'] = "My value";为什么不去实现这样的数组?在 Go 中有两个不同的概念和语法(映射)有什么好处?我相信我没有看到这背后的用处。
2 回答
阿晨1998
TA贡献2037条经验 获得超6个赞
Go 不是 PHP。虽然一些高级语言共享这种抽象,但并不常见。数组和映射是用于不同目的的不同数据结构。
PHP 的数组实际上是下面的哈希表。Go 有真正的数组,它有切片,这是对数组更强大的抽象。
拥有真正的数组,为您提供可预测的内存布局和真正的 O(1) 索引(Go 的切片也是如此,它在内部使用数组)。对底层数据存储使用哈希映射会导致所有操作的持续开销,以及无法更好地控制数据局部性。
- 2 回答
- 0 关注
- 221 浏览
添加回答
举报
0/150
提交
取消