使用 gofmt 格式化 go 源代码时,它会保留换行符,以便您可以将项目组合在一起。我对这实际上是如何实现的很感兴趣。我尝试查看 github repo 中的源代码golang/go
,但无法立即找到。如果您查看https://github.com/golang/go/blob/master/src/go/printer/printer.go#L979:
// intersperse extra newlines if present in the source
打印机如何知道源中存在这些额外的换行符?有人可以指出我正确的方向吗?