Release v5.9
At long last support for traversing through slice, array and maps and validating at any or all levels!
see documentation for the new "dive" tag
benchmarks have slightly increased ns/op and B/ops for this functionality and an additional allocation for single field validation.
$ go test -cpu=4 -bench=. -benchmem=true
PASS
BenchmarkValidateField-4 3000000 439 ns/op 192 B/op 2 allocs/op
BenchmarkValidateStructSimple-4 1000000 2382 ns/op 656 B/op 10 allocs/op
BenchmarkTemplateParallelSimple-4 2000000 910 ns/op 656 B/op 10 allocs/op
BenchmarkValidateStructLarge-4 100000 13201 ns/op 4309 B/op 60 allocs/op
BenchmarkTemplateParallelLarge-4 300000 5240 ns/op 4311 B/op 60 allocs/opfor #78