搜到下面这段解释,好像看明白了些,但还是不很清晰。
Literal, 在程序语言中,指表示某种数据值的符码。如,123 是整数值符码, 3.14 是浮点值符码,abcd 是字串值符码,True, False, 是逻辑值符码,等。 Literal 代表的是数据值的本身,区别于“变量”(Variable, 即容纳数据值的 内存址)。当然,变量名也可以作为 literal 处理。最直观的理解是,碰到 literal, 你不会想到要往里面写东西;如:123 = "Hello, World!", 象变量 那样。换句话说,Literal 是一个常量(Constant)。
“名与实”:那么,干脆把 literal 叫常量得了?不错,Literal 在有的程序 语言中就叫 Constant。但有的文献还是作了区别。兹述如下:
在程序语言中,符码作用有二:名称和数据值。凡是称为变量和常量的符码,都 是名称(ID,Symbol, Name),它们都代表一定的数据值,即 literal;只不过变量 所代表的数据值可以更换,而常量所代表的数据值是固定的而已。简言之,常量、 变量是“名”,Literal 是“实”。在这个意义上,就能体会与其英语原义的关联。
中文迄无定译。见到过“字面量”、“字面值”、“文字”、“实量”等译法。 我以为,可以考虑译作“实值”。那么,
String Literal: 字串实值。