首页 > 解决方案 > 如何检查go中是否存在数组索引

问题描述

我来自 javascript,知道如何检查变量是否存在。我们可以用!!var

我在 Go 中遇到了一个数组,我想知道索引是否存在:

myArr := []int{1, 2, 3}

if myArr[3] {
  fmt.Println("YES")
}

当我运行它时,它给了我一个错误:Index Out Of Range: 3

标签: goarray-key-exists

解决方案


由于 Go 是一种编译语言,因此不存在变量的概念没有意义。最接近的是,某些类型可以采用 nil 值。

就数组而言,它们只有一个长度(没有间隙)。因此,如果长度为 N,则只有索引 0 到 N-1 是有效的。内置的 len() 函数适用于任何数组或切片。


推荐阅读