C 中的應用配置

2022-01-22 13:59:28 字數 1976 閱讀 4895

配置功能是軟體必要的功能,下面介紹以下 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

}

讀取配置並繫結到模型

//

獲取配置並繫結到自定義模型

myconfig 

config = glaciersystem.core.getconfig(

"prefix

").bind;

hocon 配置可以是獨立的配置檔案,通過獨立的配置檔案可以更方便的進行開發環境和生產環境的切換,

glacier:config:provider

" value="

hocon

" />

config.conf 配置檔案內容

prefix 

}

這次使用乙個巢狀的型別來對應配置,定義如下兩個類來對應配置

class

myconfig

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的成員不能直接在外...