go - 在 Go 中初始化空对象

标签 go

我将根据变量使用具有不同参数的 exec.Command。我在 if/else 括号中执行 cmd := exec.Command(... ,所以 cmd 在该范围之外不可用。是否可以初始化 cmd 上面的 if/else 以便之后可以使用它?

最佳答案

您可以先声明类型化变量,然后再为它赋值。

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

在这里阅读更多 https://golang.org/ref/spec#Variables在这里 https://golang.org/ref/spec#Variable_declarations .

关于go - 在 Go 中初始化空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53198199/

相关文章:

go - 尽管在 golang 中匹配参数,为什么我不能将 func 文字用作自定义 func 类型?

go - Go 中来自 GCF 的日志不包含日志级别

for-loop - 在Go for循环中打开大括号的语法规则

Goroutines 和 mutex

coding-style - 为什么 Go 图像包剪切 + 粘贴循环像素?

go - 从代码执行二进制文件失败但从命令行运行它有效

date - Golang time.Parse 定义新格式类型

go - 为什么 'Open connection failed:sql: unknown driver "mssql“(忘记导入?)”会在 go build 中第一次发生?

json - 使用 strip 库在 Go 中解码数据

go - 我什么时候应该显式调用 cmd.Process.Release() ?