Go 代码的格式不一致?

下面是一些示例代码:


func main() {

    os.MkdirAll(outDir + id, 0755)

    os.Create(outDir + id + "/txt")

    os.OpenFile(outDir + id + "/" + ".tmp", os.OWRONLY|os_APPEND)

    os.Stat(outDir + id + "/.tmp")

}

以下是使用任一格式化或go fmt按下Go Playground后的输出:Format


func main() {

    os.MkdirAll(outDir+id, 0755)

    os.Create(outDir + id + "/txt")

    os.OpenFile(outDir+id+"/"+".tmp", os.OWRONLY|os_APPEND)

    os.Stat(outDir + id + "/.tmp")

}

和 中的空格在os.MkdirAll()和中未触及时os.OpenFile()被删除。我希望格式是相同的。os.Create()os.Stat()


为什么会这样?


慕森卡
浏览 180回答 1
1回答

回首忆惘然

见:https ://github.com/golang/go/issues/12720gofmt 在二进制表达式周围使用空格来表示绑定强度。根据嵌套级别,删除空格。您还可以通过搜索“gofmt 不一致的空格”轻松找到这些内容。另见问题#1206、#1848、#1861、#7880和#11497。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go