36 lines
631 B
Markdown
36 lines
631 B
Markdown
|
# protofmt
|
||
|
|
||
|
修改自 [https://github.com/emicklei/proto-contrib](https://github.com/emicklei/proto-contrib)
|
||
|
|
||
|
## 使用
|
||
|
|
||
|
```go
|
||
|
package main
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"os"
|
||
|
|
||
|
"github.com/emicklei/proto"
|
||
|
"gitter.top/common/protofmt"
|
||
|
)
|
||
|
|
||
|
func main() {
|
||
|
def, err := os.ReadFile("testdata.proto")
|
||
|
if err != nil {
|
||
|
// do something
|
||
|
}
|
||
|
parser := proto.NewParser(bytes.NewReader(def))
|
||
|
parse, err := parser.Parse()
|
||
|
if err != nil {
|
||
|
// do something
|
||
|
}
|
||
|
var buf = new(bytes.Buffer)
|
||
|
protofmt.NewFormatter(buf, " ").Format(parse)
|
||
|
err = os.WriteFile("testdata.proto", buf.Bytes(), os.ModePerm)
|
||
|
if err != nil {
|
||
|
// do something
|
||
|
}
|
||
|
}
|
||
|
|
||
|
```
|