luar.go
func GoToLua(L *lua.State, a interface{}) {
	visited := newVisitor(L)
	goToLua(L, a, false, visited)
	visited.close()
}
func GoToLua(L *lua.State, a interface{}) {
	visited := newVisitor(L)
	goToLua(L, a, false, visited)
	visited.close()
}
func GoToLua ( L * lua . State , a interface { } ) { visited := newVisitor ( L ) goToLua ( L , a , false , visited ) visited . close ( ) }
// GoToLua pushes a Go value 'val' on the Lua stack.
//
// It unboxes interfaces.
//
// Pointers are followed recursively. Slices, structs and maps are copied over as tables.
GoToLua pushes a Go value val on the Lua stack . It unboxes interfaces . Pointers are followed recursively . Slices structs and maps are copied over as tables .