gpt4 book ai didi

arrays - GO 中的测试列表

转载 作者:IT王子 更新时间:2023-10-29 01:49:44 24 4
gpt4 key购买 nike

我正在尝试在 GO 中实现测试。但是我在结构内部的列表语法上苦苦挣扎。

package primeFactor

import "testing"

var testCases = []struct {
p int
expected []int
}{
{15, [3,5]},
{26, [2,13]},
{37, [37]},
{42, [2,3,7]},
}

func TestPrimeFactor(t *testing.T) {
for _, test := range testCases {
observed := PrimeFactor(test.p)
if observed != test.expected {
t.Error("For p = %d, expected %t. Got %t.",
test.p, test.expected, observed)
}
}
}

我的输出错误是:

expected ']', found ','
: expected operand, found '{'
: expected ';', found 'for'

感谢您的帮助。谢谢。

最佳答案

Toni 的回答解决了您的具体问题,但要解决您要使用的比较 slice 的其他问题 reflect.DeepEqual

看看这个例子:

package main

import (
"fmt"
"reflect"
)

func main() {
observed := []int{1, 2}
expected := []int{1, 3}

if reflect.DeepEqual(observed, expected) {
fmt.Println("Slices are the same")
} else {
fmt.Println("Slices are different")
}
}

https://play.golang.org/p/_JRQ5bqmJf

关于arrays - GO 中的测试列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28157891/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com