github.com/jhump/protoreflect@v1.16.0/internal/testprotos/desc_test_defaults.proto (about) 1 syntax = "proto" // multi-line string literal 2 "2"; 3 4 option go_package = "github.com/" // more multi-line string literals 5 "jhump/protoreflect/" 6 "internal/testprotos"; 7 8 package testprotos; 9 10 message PrimitiveDefaults { 11 //// Floats 12 13 // simple default 14 optional float fl32 = 1 [default = 3.14159]; 15 optional double fl64 = 2 [default = 3.14159]; 16 17 // exponent notation 18 optional float fl32d = 3 [default = 6.022140857e23]; 19 optional double fl64d = 4 [default = 6.022140857e23]; 20 21 // special values: inf, -inf, and nan 22 optional float fl32inf = 5 [default = inf]; 23 optional double fl64inf = 6 [default = inf]; 24 optional float fl32negInf = 7 [default = -inf]; 25 optional double fl64negInf = 8 [default = -inf]; 26 optional float fl32nan = 9 [default = nan]; 27 optional double fl64nan = 10 [default = nan]; 28 29 //// Booleans 30 31 optional bool bl1 = 11 [default = true]; 32 optional bool bl2 = 12 [default = false]; 33 34 //// Ints 35 36 // signed 37 optional int32 i32 = 13 [default = 10101]; 38 optional int32 i32n = 14 [default = -10101]; 39 optional int32 i32x = 15 [default = 0x20202]; 40 optional int32 i32xn = 16 [default = -0x20202]; 41 optional int64 i64 = 17 [default = 10101]; 42 optional int64 i64n = 18 [default = -10101]; 43 optional int64 i64x = 19 [default = 0x20202]; 44 optional int64 i64xn = 20 [default = -0x20202]; 45 optional sint32 i32s = 21 [default = 10101]; 46 optional sint32 i32sn = 22 [default = -10101]; 47 optional sint32 i32sx = 23 [default = 0x20202]; 48 optional sint32 i32sxn = 24 [default = -0x20202]; 49 optional sint64 i64s = 25 [default = 10101]; 50 optional sint64 i64sn = 26 [default = -10101]; 51 optional sint64 i64sx = 27 [default = 0x20202]; 52 optional sint64 i64sxn = 28 [default = -0x20202]; 53 optional sfixed32 i32f = 29 [default = 10101]; 54 optional sfixed32 i32fn = 30 [default = -10101]; 55 optional sfixed32 i32fx = 31 [default = 0x20202]; 56 optional sfixed32 i32fxn = 32 [default = -0x20202]; 57 optional sfixed64 i64f = 33 [default = 10101]; 58 optional sfixed64 i64fn = 34 [default = -10101]; 59 optional sfixed64 i64fx = 35 [default = 0x20202]; 60 optional sfixed64 i64fxn = 36 [default = -0x20202]; 61 62 // unsigned 63 optional uint32 u32 = 37 [default = 10101]; 64 optional uint32 u32x = 38 [default = 0x20202]; 65 optional uint64 u64 = 39 [default = 10101]; 66 optional uint64 u64x = 40 [default = 0x20202]; 67 optional fixed32 u32f = 41 [default = 10101]; 68 optional fixed32 u32fx = 42 [default = 0x20202]; 69 optional fixed64 u64f = 43 [default = 10101]; 70 optional fixed64 u64fx = 44 [default = 0x20202]; 71 } 72 73 message StringAndBytesDefaults { 74 optional string dq = 1 [default = "this is a string with \"nested quotes\""]; 75 optional string sq = 2 [default = 'this is a string with "nested quotes"']; 76 77 optional bytes escaped_bytes = 3 [default = "\0\001\a\b\f\n\r\t\v\\\'\"\xfe"]; 78 optional string utf8_string = 4 [default = "\341\210\264"]; // this is utf-8 for \u1234 79 optional string string_with_zero = 5 [default = "hel\000lo"]; 80 optional bytes bytes_with_zero = 6 [default = "wor\000ld"]; 81 82 optional string really_long_string = 7 [default = "this is " 83 "a really long string constant, so it " 84 "spans multiple lines! it also tests " 85 "support for multi-line string literals " 86 "in option values"]; 87 } 88 89 enum Color { 90 RED = 0; 91 GREEN = 1; 92 BLUE = 2; 93 } 94 95 enum Number { 96 option allow_alias = true; 97 ZERO = 0; 98 ZED = 0; 99 NIL = 0; 100 NULL = 0; 101 ONE = 1; 102 UNO = 1; 103 TWO = 2; 104 DOS = 2; 105 } 106 107 message EnumDefaults { 108 optional Color red = 1 [default = RED]; 109 optional Color green = 2 [default = GREEN]; 110 optional Color blue = 3 [default = BLUE]; 111 optional Number zero = 4 [default = ZERO]; 112 optional Number zed = 5 [default = ZED]; 113 optional Number one = 6 [default = ONE]; 114 optional Number dos = 7 [default = DOS]; 115 } 116 117 message MoarFloats { 118 optional float a = 1 [default = 1]; 119 optional float b = 2 [default = 1.]; 120 optional float c = 3 [default = 1.01]; 121 optional float d = 4 [default = .1]; 122 optional float e = 5 [default = 1.e5]; 123 optional float f = 6 [default = 1.e-5]; 124 }