第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

切片可以訪問另一個超出范圍的切片,但索引超出范圍會導(dǎo)致恐慌

切片可以訪問另一個超出范圍的切片,但索引超出范圍會導(dǎo)致恐慌

Go
眼眸繁星 2022-06-21 16:52:07
我的代碼:package mainimport (    "fmt")func main() {    a := [10]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}    b := a[1:4]    fmt.Println("a:", a)    fmt.Println("b:", b)        // Works fine even though c is indexing past the end of b.    c := b[4:7]    fmt.Println("c:", c)        // This fails with panic: runtime error: index out of range [4] with length 3    // d := b[4]}輸出:a: [0 1 2 3 4 5 6 7 8 9]b: [1 2 3]c: [5 6 7]如果我取消注釋包含 的行d := b[4],則會導(dǎo)致此錯誤:panic: runtime error: index out of range [4] with length 3我的問題:為什么b[4:7]即使索引 4 超出b長度為 3 的范圍也可以訪問,但不能訪問b[4]?什么 Go 語言規(guī)則解釋了這種行為?
查看完整描述

1 回答

?
30秒到達(dá)戰(zhàn)場

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個贊

相關(guān)規(guī)則:Spec: Index 表達(dá)式Spec: Slice 表達(dá)式。

簡而言之:索引時,索引必須小于長度。切片時,上索引必須小于或等于容量。

索引時:a[x]

如果,x則索引在范圍內(nèi)0 <= x < len(a),否則超出范圍

切片時:a[low: high]

對于數(shù)組或字符串,索引在范圍內(nèi)if 0 <= low <= high <= len(a),否則超出范圍對于切片,索引上限是切片容量cap(a)而不是長度。

當(dāng)你這樣做時:

b := a[1:4]

b將是一個與 共享后備數(shù)組的切片a,其b長度為3,其容量為9。因此,稍后切片b甚至超出其長度也是完全有效的,直到其容量為9. 但是在索引時,您始終可以僅索引切片長度所覆蓋的部分。

我們使用索引來訪問切片或數(shù)組的當(dāng)前元素,如果我們想要創(chuàng)建數(shù)組或切片的片段,或者想要擴(kuò)展它,我們會使用切片。擴(kuò)展它意味著我們想要更大的部分(但仍然被支持?jǐn)?shù)組覆蓋)。


查看完整回答
反對 回復(fù) 2022-06-21
  • 1 回答
  • 0 關(guān)注
  • 108 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號