validate BST in Go

```
var save *TreeNode = nil

func isValidBST(root *TreeNode) bool {
    if root == nil {
        return true
    }
    if ! isValidBST(root.Left) {
        return false
    }
    if save != nil && save.Val >= root.Val {
        return false
    }
    save = root
    if ! isValidBST(root.Right) {
        return false
    }
    return true
}
```