我不明白 Go 中的切片聲明。因為,我聲明數組的第一個和第二個元素必須是 0:1。但它是0:2。為什么?我應該如何閱讀這個,從零到 2 減 1(一直)?var slice = array[0:2]
2 回答

嚕嚕噠
TA貢獻1784條經驗 獲得超7個贊
切片邊界是半開的,這對于許多編程語言來說是非常標準的。一個優點是它使范圍的長度變得明顯 (2-0=2)。具體來說,這樣做很常見:
s[start:start+len]
很明顯,這會len
從切片中選擇元素,從start
.?如果范圍將完全關閉(包括兩個邊界),則代碼中必須有很多-1
s 來處理切片和子切片。
它在 C++ 范圍和 Python 等中的工作方式類似。
您希望范圍的大小是一個簡單的差異 end - begin;
當序列退化為空序列時,包括下限更“自然”,而且因為替代方案(不包括下限)需要存在“開始前的一個”標記值。
- 2 回答
- 0 關注
- 190 瀏覽
添加回答
舉報
0/150
提交
取消