gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

doc.go (3160B)


      1 // Copyright 2019 The Go Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style
      3 // license that can be found in the LICENSE file.
      4 
      5 // Package proto provides functions operating on protocol buffer messages.
      6 //
      7 // For documentation on protocol buffers in general, see:
      8 // https://protobuf.dev.
      9 //
     10 // For a tutorial on using protocol buffers with Go, see:
     11 // https://protobuf.dev/getting-started/gotutorial.
     12 //
     13 // For a guide to generated Go protocol buffer code, see:
     14 // https://protobuf.dev/reference/go/go-generated.
     15 //
     16 // # Binary serialization
     17 //
     18 // This package contains functions to convert to and from the wire format,
     19 // an efficient binary serialization of protocol buffers.
     20 //
     21 // • Size reports the size of a message in the wire format.
     22 //
     23 // • Marshal converts a message to the wire format.
     24 // The MarshalOptions type provides more control over wire marshaling.
     25 //
     26 // • Unmarshal converts a message from the wire format.
     27 // The UnmarshalOptions type provides more control over wire unmarshaling.
     28 //
     29 // # Basic message operations
     30 //
     31 // • Clone makes a deep copy of a message.
     32 //
     33 // • Merge merges the content of a message into another.
     34 //
     35 // • Equal compares two messages. For more control over comparisons
     36 // and detailed reporting of differences, see package
     37 // "google.golang.org/protobuf/testing/protocmp".
     38 //
     39 // • Reset clears the content of a message.
     40 //
     41 // • CheckInitialized reports whether all required fields in a message are set.
     42 //
     43 // # Optional scalar constructors
     44 //
     45 // The API for some generated messages represents optional scalar fields
     46 // as pointers to a value. For example, an optional string field has the
     47 // Go type *string.
     48 //
     49 // • Bool, Int32, Int64, Uint32, Uint64, Float32, Float64, and String
     50 // take a value and return a pointer to a new instance of it,
     51 // to simplify construction of optional field values.
     52 //
     53 // Generated enum types usually have an Enum method which performs the
     54 // same operation.
     55 //
     56 // Optional scalar fields are only supported in proto2.
     57 //
     58 // # Extension accessors
     59 //
     60 // • HasExtension, GetExtension, SetExtension, and ClearExtension
     61 // access extension field values in a protocol buffer message.
     62 //
     63 // Extension fields are only supported in proto2.
     64 //
     65 // # Related packages
     66 //
     67 // • Package "google.golang.org/protobuf/encoding/protojson" converts messages to
     68 // and from JSON.
     69 //
     70 // • Package "google.golang.org/protobuf/encoding/prototext" converts messages to
     71 // and from the text format.
     72 //
     73 // • Package "google.golang.org/protobuf/reflect/protoreflect" provides a
     74 // reflection interface for protocol buffer data types.
     75 //
     76 // • Package "google.golang.org/protobuf/testing/protocmp" provides features
     77 // to compare protocol buffer messages with the "github.com/google/go-cmp/cmp"
     78 // package.
     79 //
     80 // • Package "google.golang.org/protobuf/types/dynamicpb" provides a dynamic
     81 // message type, suitable for working with messages where the protocol buffer
     82 // type is only known at runtime.
     83 //
     84 // This module contains additional packages for more specialized use cases.
     85 // Consult the individual package documentation for details.
     86 package proto