采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
想问下老师,slice为什么要设计成可以向后扩展的特性呢?感觉让人理解起来会有点困惑,看不到的范围却还是拿到,感觉是不是这背后有什么深意呢?
这是个好问题。首先没什么深意,只是必然的设计。go在基本语法部分主要是c/c++为基础,用java/python等的优点弥补c++的缺点。c++中就有用begin, end这一对指针来提供对数组的“视图”,见std::sort函数的定义。c++的话,当然是可以扩展的。然后slice在append的时候会改写掉底层数组后面的值,因此它也必须能向后扩展。扩展之后的slice不是原来的slice,因此和原来slice是否看得到不矛盾。至于为啥不能向前扩展,这只是没有必要。
了解了,那是不是为了可读性,使用切片尽量还是要写可视范围之内好一些,官方也没有类似的建议吗?
这个没有什么标准,要看具体的应用场景
谢谢老师
登录后可查看更多问答,登录/注册
语法+分布式爬虫实战 为转型工程师量身打造
3.7k 14
694 1
2.0k 1
1.1k 12