博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Thrift RPC 系列教程(2)——全局变量&全局常量
阅读量:6905 次
发布时间:2019-06-27

本文共 709 字,大约阅读时间需要 2 分钟。

全局变量,就像不可控的孩子,你放心你的孩子总是消失你的视野范围内吗?

为啥有全局变量

通常来说,『全局变量』被视为一种不好的编程风格,因为它实在是不可控,怕它的状态不知道在什么时候就被改变了,根源就是『人们害怕未知』。但是如果是全局常量,则问题不大,反正变来变去,还是同一个东西。

Thrift支持全局常量

Thrift中的常量,其实就是模块级别的常量,语法上,自然是简单得不得了:

// 普通基础类型const i32 INT32CONSTANT = 9853// 复杂容器类型const map
MAPCONSTANT = {
'hello':'world', 'goodnight':'moon'};const set
NAMES = {
"name1", "name2"};const list
NAMES_LIST = ["name1", "name2"];复制代码

全局常量有啥用?

如同你使用其他编程语言一样,全局常量在它们里面有啥用,那么在Thrift中就有啥用。比如我有一个需求,需要为系统的每个端口起一个名字,以统一规范,统一给每个微服务系统使用。那么我们就可以:

const  map
PORTNAME_PORT = { "MYSQL_PORT": 8806, "REDIS_PORT": 7379,};复制代码

不过,总体而言,『全局XX』带来了方便,也带来了问题,没有什么事情是非得使用『全局』去解决的,所以总体上不是 非常推荐的风格。

转载地址:http://twmdl.baihongyu.com/

你可能感兴趣的文章
git clone出现SSL错误
查看>>
解决mysql-socket报错问题
查看>>
CentOS 5/6.X 使用 EPEL YUM源
查看>>
golang redis驱动的比较
查看>>
python 遇到NameError: name '__file__' is not defi...
查看>>
CentOS7.3 64位安装Hyperledger fabric多通道多组织多节点
查看>>
应用偶发性连接不上Oracle数据库的排查案例
查看>>
CentOS7切换图形启动模式
查看>>
利用python分析日志生成图表
查看>>
c#中不定长参数(关键字Params)使用
查看>>
WinAPI: waveOutPause - 暂停播放
查看>>
FTP自动上传
查看>>
我的友情链接
查看>>
mysqldump工具
查看>>
用 PHP 读取文件的正确方法
查看>>
LoadRunner压力测试时监控服务器Linux的资源情况
查看>>
azure存储并发写 压力测试
查看>>
管理用户和用户权限
查看>>
VCTransitionsLibrary –自定义iOS交互式转场动画的库
查看>>
final、static(Java)和const、static(C#)
查看>>