I have the following go code which I was wanting get interfaces working:
https://play.golang.org/p/A29etweYN_
to provide the following output:
Gate: Evaluation ID U0 NOR true 0 0
Gate: Evaluation ID U1 NOR false 0 1
Gate: Evaluation ID U2 NOR false 1 0
Gate: Evaluation ID U3 NOR false 1 1
I am finding it difficult to understand why the commented out line
//OutputY: gateNor(InputA,InputB)
does not work - gateNor is a function which I want to call and append to the Gate struct
What would be a more elegant way to implement this?
type Gate struct {
Id string
Funct string
InputA string
InputB string
OutputY string
}
func (g *Gate) Notify() error {
fmt.Printf("Gate: Evaluation ID %s %s %s %s %s
",
g.Id,
g.Funct,
g.OutputY,
g.InputA,
g.InputB,
)
return nil
}
gate0 := &Gate{
Id: "U0",
Funct: "NOR",
InputA: "0",
InputB: "0",
OutputY: gateNor("0", "0"),
//OutputY: gateNor(InputA,InputB),
}
gateNor returns the string true for input A=0 and InputB = 0, for the gate0 (ID U0) struct following output is working:
Gate: Evaluation ID U0 NOR true 0 0