在网络或 I/O 连接中,可以使用 net/rpc 包实现对一个对象的导出方法的调用,即远程过程调用(Remote Procedure Call,RPC)。通过向 RPC 服务注册一个对象,使其可被远程调用,进而实现一些复杂的业务逻辑。 项目结构 示例项目的结构如下: client - client.go - json_client.go models - greeting.go server - json_server.go - server.go 注册服务 一个可被远程调用的方法须满足以下条件: 方法所属结构是公开的; 方法是分开的; 方法的参数类型是分开的; 方法带两个参数,第 2 个参数为指针; 方法返回值为 error ...
Protocol Buffer 的介绍与语法已在文章《Protocol Buffer 语法》给出,本文则演示了 Protocol Buffer 如何减少了传输数据的大小。
Protocol Buffer(Protobuf) 是一种高效的数据结构序列化的机制,同时也是一种结构化数据的存储格式。 序列化与反序列化 序列化:将数据结构或对象转换成二进制串的过程; 反序列化:将序列化后的二进制串转换成数据结构或对象的过程; 语法 /* * 语法 */ /* * 指定 Protobuf 解析使用的版本,可以是 proto3 或 proto2 */ syntax = "proto3"; /* * message 定义中的每一个字段都有一个唯一标识,该标识用于在二进制格式中识别字段 * 字段的标识一旦使用就不要进行修改 * 当标识为 1 到 15 时,使用一个字节进行编码,字节信息中包含字段的标识以及类型 * 当标...