在下面的代码中,我有一个包含文字值的标记类型。通过使用空接口,我可以创建一个令牌切片并附加具有不同类型的令牌。我认为使用泛型不可能完成相同的任务,因为我们无法推断令牌切片的类型。这个假设正确吗?
type Token struct {
TokenType string
Literal interface{}
}
func main(){
tok1 := &Token{TokenType: "string", Literal: "foo"}
tok2 := &Token{TokenType: "integer", Literal: 10}
tokS := []*Token{tok1, tok2}
}
Run Code Online (Sandbox Code Playgroud)