Как в go сделать переменную с двумя типами и функцию вовращающую два типа
Как сделать так чтобы в переменной left можно было хранить как NumberNode так и BinaryOperationNode, и чтобы функция могла вовращать оба эти типа?
Код:
func (p *Parser) Term() BinaryOperationNode {
left := p.Factor() // Factor возвращает NumberNode
for p.CurrentToken.Type_ == token.Number {
operation := p.CurrentToken
right := p.Factor()
left := node.BinaryOperationNode{LeftOperand: left.Value, RightOperand: right.Value, Operation: operation.Value}
}
return left
}