gpt4 book ai didi

go - Golang 中的 "instanceof"等效项

转载 作者:IT老高 更新时间:2023-10-28 13:04:04 24 4
gpt4 key购买 nike

我有这些结构:

type Event interface {
Accept(EventVisitor)
}

type Like struct {
}

func (l *Like) Accept(visitor EventVisitor) {
visitor.visitLike(l)
}

如何测试 eventLike 实例?

func TestEventCreation(t *testing.T) {
event, err := New(0)
if err != nil {
t.Error(err)
}
if reflect.TypeOf(event) != Like {
t.Error("Assertion error")
}
}

我明白了:

Type Like is not an expression event Event

最佳答案

你可以做一个类型断言,看看它是否失败:

event, err := New(0)
if err != nil {
t.Error(err)
}
_, ok := event.(Like)
if !ok {
t.Error("Assertion error")
}

关于go - Golang 中的 "instanceof"等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39171678/

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