MST

星途 面试题库

面试题:Go语言切片slice边界处理之越界判断

在Go语言中,给定一个切片`nums := []int{1, 2, 3, 4, 5}`,编写一个函数,该函数接收一个索引值`index`,判断如果对`nums[index]`进行取值操作是否会发生越界,并返回相应的布尔值。请描述在函数实现过程中需要考虑的切片边界相关要点。
35.1万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import "fmt"

func checkIndex(nums []int, index int) bool {
    return index >= 0 && index < len(nums)
}

在函数实现过程中需要考虑的切片边界相关要点:

  • 索引下限:索引值不能为负数,负数索引在Go语言切片中没有意义,所以要确保index >= 0
  • 索引上限:索引值必须小于切片的长度,否则会发生越界访问。所以要保证index < len(nums)。只有同时满足这两个条件,对nums[index]的取值操作才不会发生越界。