【问题标题】:Golang Error : Cannot use (type [5]int) as type int in argument to median [duplicate]Golang错误:不能使用(类型[5]int)作为中值参数中的int类型[重复]
【发布时间】:2019-10-27 09:49:20
【问题描述】:

我写了一个函数来找到一个奇数长度数组的中位数--

package main

import (
    "fmt"
    "sort"
)

func median(arr ...int)(int){
    sort.Ints(arr)
    return arr[len(arr)/2]
}

func main() {

    arr := []int{1,2,3}
    med := median(arr)
    fmt.Println(med)


}

但在编译时,我收到一条错误消息 - Cannot use arr (type [5]int) as type int in argument to median

究竟是什么错误?我该如何解决这个问题?

PS - 我不想修改中值函数。但是导致此问题的我的arr 类型有什么问题?

【问题讨论】:

    标签: go


    【解决方案1】:

    您说median 是一个可变参数函数,但您将arr 作为第一个参数而不是所有参数传递。您只需要通知 go 使用 arr 作为 all 可变参数:

    med := median(arr...)
    

    为我工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-21
      相关资源
      最近更新 更多