在 Go 中初始化成员时是否可以只使用其中一个返回值



我了解如何在go中使用多个返回值。我进一步了解,在大多数情况下,其中一个返回值是错误的,因此忽略返回值可能是危险的。

有没有办法像这样忽略结构初始值设定项中的值?下面的示例不起作用,因为 Split 返回两个值,但我只对第一个值感兴趣。我当然可以创建一个变量,但是...

someFile := "test/filename.ext"
contrivedStruct := []struct{
    parentDir string
}{
    { parentDir: filepath.Split(someFile) },
}

在 Go 中初始化成员时,不能只使用一个返回值。

使用变量清楚地表达了您的意图。

Go

有时感觉它可以更简洁,但 Go 的作者更喜欢可读性而不是简洁性。

或者,使用包装器函数。标准库中有几个"必须"包装器函数,例如:模板。必须。

func first(args ...string) string {
    return args[0]
}

有关拆分路径的特定示例,请参阅文件路径。Base 或 filepath.Dir.

不,无法跳过结构初始值设定项中的返回值之一。

最新更新