-
字面量
鎖定
在計算機科學中,字面量(literal)是用於表達源代碼中一個固定值的表示法(notation)。幾乎所有計算機編程語言都具有對基本值的字面量表示,諸如:整數、浮點數以及字符串;而有很多也對布爾類型和字符類型的值也支持字面量表示;還有一些甚至對枚舉類型的元素以及像數組、記錄和對象等複合類型的值也支持字面量表示法。C語言關於複合字面量的介紹可參考:
[1]
。
關於字面量在Objective-C中的舉例可參考:
[2]
。
- 中文名
- 字面量
- 外文名
- literal
- 全 稱
- 字面量
- 釋 義
- 用於表示固定值的符號(token)
字面量簡介
#include <stdio.h> int main(void) { int a = 10; // 10為int類型字面量 char a[] = {"Hello world!"} // Hello world 為字符串形式字面量 ............. // 以此類推,不再贅述 return 0; }
字面量編碼
字面量作為一種通用的,跨平台的數據交換格式,在程序界是公認的事實;而.NetFramework以前的版本中麻煩的XML操作,常常令程序員心生不快。記得以前試圖生成一個XML文件,無非是兩種模式:用StringBuilder拼接XML字符串,或者是用XMLDocument/XMLWriter進行DOM操作。StringBuilder是有足夠的速度,但是沒有穩定性的保障,需要多次過濾以保護XML文件的完整性。而使用MSXML的包裝System.Xml進行操作,又未免太麻煩了些。 字面量功能是VisualBasic9為解放程序員勞力作出的一項非常大的改進,它可讓程序員直接在代碼中嵌入XML進行生成操作。藉助編譯器的力量,XML字面量調用System.Xml.Linq進行XML的動態生成。在C#中,雖然同樣可以調用這個命名空間下的類進行生成,但是遠沒有VisualBasic的模式輕鬆,省力。舉一個簡單的範例,用於動態生成一個XML文檔:
舊的StringBuilder模式:
ImportsSystem.Text
PublicFunctionBuildXMLFromStringBuilder()FunctionBuildXMLFromStringBuilder(NameAsString,AgeAsInteger)AsString
DimXMLBuilderAsNewStringBuilder
WithXMLBuilder
.AppendLine("")
.Append("")
.Append(Name)
.AppendLine("")
.Append("")
.Append(Age)
.AppendLine("")
.AppendLine("")
EndWith
舊的XMLDOM模式:
PublicFunctionBuildXMLFromXmlDom()FunctionBuildXMLFromXmlDom(ByValNameAsString,ByValAgeAsInteger)AsString
DimXMLDocumentAsNewXmlDocument
DimRootElementAsXmlElement=XMLDocument.CreateElement("Person")
DimNameElementAsXmlElement=XMLDocument.CreateElement("Name")
DimAgeElementAsXmlElement=XMLDocument.CreateElement("Age")
WithRootElement
.AppendChild(NameElement)
.AppendChild(AgeElement)
EndWith
WithNameElement
.Value=Name
EndWith
WithAgeElement
.Value=CStr(Age)
EndWith
XMLDocument.AppendChild(RootElement)
ReturnXMLDocument.ToString()
EndFunction
新的XML字面量:
PublicFunctionBuildXMLFromXLinq()FunctionBuildXMLFromXLinq(ByValNameAsString,ByValAgeAsInteger)AsString
Return
.ToString()
EndFunction
- 參考資料
-
- 1. GCC關於複合字面量的介紹 .GCC在線文檔[引用日期2014-11-16]
- 2. 編程語言中的字面量在Objective-C中的舉例 .博客園.2014-11-16[引用日期2014-11-16]