提取
1 2 3 4 5 6 | var slice []int slice = append(slice, 2) slice = append(slice, 7) slice[len(slice)-1:][0] // Retrieves the last element |
上面的解决方案是可行的,但看起来很尴尬。
只需读取切片的最后一个元素:
1 | sl[len(sl)-1] |
拆卸时:
1 | sl = sl[:len(sl)-1] |
号
请参阅本页关于切片技巧的内容
- 谢谢大家!尽管看起来很傻,但他们没有添加Python拥有的
-1 索引… - 我确实喜欢Python中的
-1 ,尽管它经常导致难以调试的错误。 - 他们有意识地把它留在外面。不明显,容易出错。总体来说,go是对"太多意义"的谨慎;它也不具有方法/运算符重载、函数参数的默认值等特性,imho采用了类似的哲学方式。看看这个讨论和其他:groups.google.com/forum/!主题/Golang Nuts/yn9q6hhgwi0
- 太好了,我们如何引用弹出的论点?
不那么优雅,但也可以做到:
1 | sl[len(sl)-1: len(sl)] |
- 这与
sl[len(sl)-1:] 相同,但它返回一个包含最后一个元素的切片,而不仅仅是最后一个元素。play.golang.org/p/kcthrqa-64c游戏