file.proto
package file;
enum PHP_MSG_ID
{
PHP_MSG_CHANGE_SAFEPWD = 11;
PHP_MSG_BROADCAST = 12;
PHP_MSG_SYS_NOTICE = 13;
PHP_MSG_KILL_PLAYER = 14;
PHP_MSG_CHANGE_ACCVALUE = 15;
PHP_MSG_SET_SVR_STATE = 16;
PHP_MSG_CHANGE_NAME = 17;
PHP_MSG_STOP_SERVICE = 18;
PHP_MSG_CHANGE_ROBOT = 19;
PHP_MSG_CHANGE_VIP = 20;
}
build.sh(将proto文件放于src目录,执行脚本后,目标文件存在于目录targ下)
#!/bin/bash
find ./src -name "*.proto" |xargs protoc -I=./src/ --go_out=./targ/
示例调用
package main
import(
"fmt"
"./targ"
"reflect"
)
func main(){
x := file.PHP_MSG_ID_PHP_MSG_CHANGE_SAFEPWD
fmt.Println(reflect.TypeOf(x))
}
代码结构:
src
targ
build.sh
main.go

本文介绍了一个Proto文件的定义及其使用Go语言进行解析的方法。该文件定义了一系列消息ID,通过bash脚本编译并将生成的目标文件置于特定目录。示例代码展示了如何导入编译后的文件并获取枚举类型的具体实例。

被折叠的 条评论
为什么被折叠?



