route/vendor/github.com/yuin/gluamapper/gluamapper_example_test.go

46 lines
725 B
Go

package gluamapper
import (
"fmt"
"github.com/yuin/gopher-lua"
)
func ExampleMap() {
type Role struct {
Name string
}
type Person struct {
Name string
Age int
WorkPlace string
Role []*Role
}
L := lua.NewState()
if err := L.DoString(`
person = {
name = "Michel",
age = "31", -- weakly input
work_place = "San Jose",
role = {
{
name = "Administrator"
},
{
name = "Operator"
}
}
}
`); err != nil {
panic(err)
}
var person Person
if err := Map(L.GetGlobal("person").(*lua.LTable), &person); err != nil {
panic(err)
}
fmt.Printf("%s %d", person.Name, person.Age)
// Output:
// Michel 31
}