我了解如何在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.
不,无法跳过结构初始值设定项中的返回值之一。