如何检查数组索引是否存在于go中

-3 go array-key-exists

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

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

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

if myArr[3] {
  fmt.Println("YES")
}
Run Code Online (Sandbox Code Playgroud)

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

AJR*_*AJR 6

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

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

  • “由于 Go 是一种静态类型语言,因此不存在的变量的概念没有意义”——这与静态类型无关。静态类型表示您在编译时知道任何给定值是什么类型,它与它是否存在完全无关。 (2认同)