Arrays 如何在Go中声明接口数组

Arrays 如何在Go中声明接口数组,arrays,interface,go,Arrays,Interface,Go,我在创建接口数组这项琐碎的任务中遇到了困难。这是我的密码 var result float64 for i := 0; i < len(diff); i++ { result += diff[i] } result = 1 / (1 + math.Sqrt(result)) id1 := user1.UserId id2 := user2.UserId user1.Similar[id2] = [2]interface{id2, result} user2.Similar[id

我在创建接口数组这项琐碎的任务中遇到了困难。这是我的密码

var result float64
for i := 0; i < len(diff); i++ {
    result += diff[i]
}
result = 1 / (1 + math.Sqrt(result))

id1 := user1.UserId
id2 := user2.UserId

user1.Similar[id2] = [2]interface{id2, result}
user2.Similar[id1] = [2]interface{id1, result}
var结果浮点64
对于i:=0;i
结果是一个float,user*.UserId是一个int

我的错误消息是

语法错误:接口类型中不允许使用名称列表,例如

package main

import (
    "fmt"
)

func main() {
    x, y := 1, "@"
    a := [2]interface{}{x, y}
    fmt.Println(a)
    b := [2]interface{}{0, "x"}
    fmt.Println(b)
}
输出:

[1 @]
[0 x]

非常感谢。我最终声明了一个结构,因为它总是{int,float64}对,但这是正确的答案!