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

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

測試索引超出 golang 范圍

測試索引超出 golang 范圍

Go
狐的傳說 2021-09-20 20:35:59
很抱歉這個菜鳥問題,但我不確定如何測試我正在訪問的元素是否對數(shù)組有效,請考慮以下人為代碼:func main() {    strings := []string{"abc", "def", "ghi", "jkl"}    for i := 0; i<5; i++ {        if strings[i] {            fmt.Println(strings[i])        }    }}https://play.golang.org/p/8QjGadu6Fu我顯然超出了界限,但我不確定如何進行測試以防止出現(xiàn)錯誤。我已經(jīng)習慣了在 PHP 中使用isset或!empty測試的地方,有沒有這樣的東西?我瀏覽了其他問題并看到了len使用的功能,但這似乎不起作用。
查看完整描述

2 回答

?
慕少森

TA貢獻2019條經(jīng)驗 獲得超9個贊

在 Go 中,這不像在 PHP 中那么容易 - 但請記住,在 PHP 中這很簡單,因為“索引”數(shù)組實際上是引擎蓋下的關(guān)聯(lián)數(shù)組。否則,您將無法通過取消設(shè)置單個元素在數(shù)組中“打孔”。

使用 Go 數(shù)組/切片,您必須實際檢查數(shù)組的長度,如您所寫:

if i>=0 && i<len(strings) {...}

就我個人而言,我還沒有遇到過需要這樣做的現(xiàn)實情況 - 在您的示例中,您可以使用range(strings)索引并不再擔心索引。

使用映射(相當于 PHP 數(shù)組的 Go 等價物),您可以通過編寫以下代碼來執(zhí)行“isset”:

value, isset := map[index]

如果index存在于地圖中,value將被適當設(shè)置并且isset為真;如果不是,value將被設(shè)置為地圖類型的零值并且isset為假。


查看完整回答
反對 回復 2021-09-20
  • 2 回答
  • 0 關(guān)注
  • 244 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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