配置功能是軟體必要的功能,下面介紹以下 glacier 內建的配置框架,glacier 支援三種方式的配置:
嵌入的 hocon 配置
獨立的 hocon 配置
優先順序高的配置會覆蓋優先順序低的配置
關於 glacier 框架使用,請前往:
prefix:key1
" value="
42" />
"prefix:key2
" value="
foo,bar
" />
"prefix:key3:innerkey
" value="
hello world
" />
通過 glacier 框架,可以通過使用如下**來獲取配置(可以直接通過 as.. 轉換成具體的型別)
//程式啟動時,新增需要載入的配置字首:
prefix");
//需要獲取配置時:
var config = glaciersystem.core.getconfig("
prefix");
var val1 = config["
key1
"].asint();
var val2 = config["
key2
"].aslist();
var innerval = config["
key3:innerkey
"].asstring();//或
var innerval = config.getsub("
key3
")["
innerkey
"].asstring();
hocon 方式的配置支援型別繫結功能,可以直接將配置繫結到具體的類,使配置更具可讀性,方便使用和管理。
依然利用之前的例子,這次使用嵌入的 hocon 配置
"glacier
"type="
gkarch.glacier.configuration.hoconsection, gkarch.glacier
" />
[cdata[
prefix
}]]>
定義乙個類來對應這個配置:
//自定義模型
class
myconfig
public ilist key2
public idictionary key3
}
讀取配置並繫結到模型
//獲取配置並繫結到自定義模型
myconfigconfig = glaciersystem.core.getconfig(
"prefix
").bind;
hocon 配置可以是獨立的配置檔案,通過獨立的配置檔案可以更方便的進行開發環境和生產環境的切換,
glacier:config:provider
" value="
hocon
" />
config.conf 配置檔案內容
prefix}
這次使用乙個巢狀的型別來對應配置,定義如下兩個類來對應配置
classmyconfig
public ilist key2
public myinnerconfig key3
}class
myinnerconfig
}
讀取配置
var config = glaciersystem.core.getconfig("prefix
").bind();
console.writeline(config.key3.innerkey);
//hello world
C 中 的應用
的應用主要有以下3種 1 按位與 3 引用操作 1 按位與 都是1才為1,否則為0 與1相與數值不變,0相與數值變為0 2 按位或 都是0才為0,否則為1 與0相或數值不變,與1相或數值變1 3 按位異或 相同為0,不同為1 與0異或數值不變,與1異或數值相反 4 按位取反 eg 1 1111 11...
c 中static的應用
不加static修飾的全域性變數,其作用域為整個工程檔案,在定義檔案外,可以通過extern宣告呼叫該變數。當全域性變數新增static修飾後,其作用域就限定在本檔案內,在工程中其他檔案中就算新增extern 宣告也不能呼叫。靜態區域性變數相當於乙個只能被定義函式使用的全域性變數,當函式結束時,其當...
c 中屬性的應用
屬性,官方的解釋是 它提供靈活的機制來讀取 編寫或計算某個私有欄位的值。可以像使用公共資料成員一樣使用屬性,但實際上它們是稱作 訪問器 的特殊方法。這使得可以輕鬆訪問資料,此外還有助於提高方法的安全性和靈活性。我們可以簡單的理解成它是訪問類中私有成員的一種工具。類中個private的成員不能直接在外...