1.3.6 查找一个元素在数组中的位置

  1. 查找一个元素在数组中的位置,方法是:首先通过reflect包的ValueOf()函数获取数组的值,然后通过for循环遍历数组的值进行比较,如果相等,返回索引

    // arrayPosition 查找一个元素在数组中的位置
    func arrayPosition(arr interface{}, d interface{}) int {
    	array := reflect.ValueOf(arr)
    	for i := 0; i < array.Len(); i++ {
    		v := array.Index(i)
    		if v.Interface() == d {
    			return i
    		}
    	}
    	return -1
    }
    
    func main() {
    	a := make([]int, 6)
    	for i := 0; i < 6; i++ {
    		a[i] = i + 2
    	}
    
    	index := arrayPosition(a, 6)
    	fmt.Println(index)
    }

    结果:4

Last updated