commit | 74b1460c5b521ae9e54fe8e558a34017bd66d584 | [log] [tgz] |
---|---|---|
author | Joe Tsai <joetsai@digital-static.net> | Mon Jan 06 15:44:09 2020 -0800 |
committer | Joe Tsai <thebrokentoaster@gmail.com> | Thu Jan 30 07:50:58 2020 +0000 |
tree | 14def5b2451ff5e323a8056aa25dd0161b486f34 | |
parent | 1887ff702c132e0d4e4ebfb5c1bb093d0f1d8809 [diff] |
encoding: add Format helper function and method The Format function and MarshalOptions.Format method are helper functions for directly obtaining the formatted string for a message without having to deal with errors or convert a []byte to string. It is only intended for human consumption (e.g., debugging or logging). We also add a MarshalOptions.Multiline option to specify that the output should use some default indentation in a multiline output. This assists in the v1 to v2 migration where: protoV1.CompactTextString(m) => prototext.MarshalOptions{}.Format(m) protoV1.MarshalTextString(m) => prototext.Format(m) At Google, there are approximately 10x more usages of MarshalTextString than CompactTextString, so it makes sense that the top-level Format function does multiline expansion by default. Fixes #850 Change-Id: I149c9e190a6d99b985d3884df675499a3313e9b3 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/213460 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Herbie Ong <herbie@google.com>
WARNING: This repository is in active development. There are no guarantees about API stability. Breaking changes will occur until a stable release is made and announced.
This repository is for the development of the next major Go implementation of protocol buffers. This library makes breaking API changes relative to the existing Go protobuf library. Of particular note, this API aims to make protobuf reflection a first-class feature of the API and implements the protobuf ecosystem in terms of reflection.
List of relevant design documents:
We appreciate community contributions. See CONTRIBUTING.md.
Issues regarding the new API can be filed at github.com/golang/protobuf. Please use a APIv2:
prefix in the title to make it clear that the issue is regarding the new API work.