string cached mini vm in go
package main
//file to implement the virtual machine
import (
"fmt"
)
type VirtualMachine struct {
ints map[string]func(a, b int) int
}
func CreateVM() VirtualMachine {
machine := VirtualMachine{ints:make(map[string]func(a, b int)int)}
machine.ints["+"] = func(a, b int)int {return a+b}
return machine
}
func main() {
tester := CreateVM()
fmt.Println(tester.ints["+"](1, 2))
}
//3