Protobuf
Это не разрешено ни спецификациями proto2 (как в вашем примере кода), ни спецификациями proto3 .
Как показано в спецификациях (любой из упомянутых выше), объявление package
следует шаблону:
package = "package" fullIdent ";"
т.е. ключевое слово package
, за которым следует fullIdent
, за которым следует одна ;
точка с запятой, где fullIdent
определяется как:
fullIdent = ident { "." ident }
т.е. хотя бы один ident
, за которым следует ноль или несколько других ident
, которым предшествует .
, где ident
определяется как:
ident = letter { letter | decimalDigit | "_" }
т.е. минимум одна буква, за которой следуют ноль или несколько букв ([A-Z]
, [a-z]
), цифры ([0-9]
) или символ подчеркивания _
.
Итак, в заключение, вы не можете иметь символ минус (da sh) -
в имени вашего пакета protobuf. * 1048 *
Go
Кроме того, как указывает @ colm.anseo out, Go имена пакетов также не разрешают da sh -
символов либо:
PackageName = identifier .
, где identifier = letter { letter | unicode_digit } .
( Символ подчеркивания считается буквой .)