在Go中初始化空对象

I will use exec.Command with different arguments depending on a variable. I do cmd := exec.Command(... in the if/else brackets , so cmd is unusable outside of that scope. Is it possible to initialize cmd above if/else so that it can be used afterward?

You can declare a typed variable before you have a value for it.

 var cmd *exec.Cmd
 // or
 cmd := (*exec.Cmd)(nil)

Read more here https://golang.org/ref/spec#Variables and here https://golang.org/ref/spec#Variable_declarations.