Golang Recursive Function Definition