Thrift RPC 系列教程(2)——全局變量&全局常量

全局變量,就像不可控的孩子,你放心你的孩子老是消失你的視野範圍內嗎?編程

爲啥有全局變量

一般來講,『全局變量』被視爲一種很差的編程風格,由於它實在是不可控,怕它的狀態不知道在何時就被改變了,根源就是『人們懼怕未知』。可是若是是全局常量,則問題不大,反正變來變去,仍是同一個東西。bash

Thrift支持全局常量

Thrift中的常量,其實就是模塊級別的常量,語法上,天然是簡單得不得了:編程語言

// 普通基礎類型
const i32 INT32CONSTANT = 9853

// 複雜容器類型
const map<string,string> MAPCONSTANT = {'hello':'world', 'goodnight':'moon'};
const set<string> NAMES = {"name1", "name2"};
const list<string> NAMES_LIST = ["name1", "name2"];
複製代碼

全局常量有啥用?

如同你使用其餘編程語言同樣,全局常量在它們裏面有啥用,那麼在Thrift中就有啥用。好比我有一個需求,須要爲系統的每一個端口起一個名字,以統一規範,統一給每一個微服務系統使用。那麼咱們就能夠:微服務

const  map<string, i64>  PORTNAME_PORT = {
    "MYSQL_PORT": 8806,
    "REDIS_PORT": 7379,
};
複製代碼

不過,整體而言,『全局XX』帶來了方便,也帶來了問題,沒有什麼事情是非得使用『全局』去解決的,因此整體上不是 很是推薦的風格。ui

相關文章
相關標籤/搜索